n20-common-lib 2.4.4 → 2.4.6

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 (174) hide show
  1. package/README.md +1 -1
  2. package/nstc-g6/components/Calendar/index.js +5 -5
  3. package/nstc-g6/components/Calendar/src/basic/month-table.vue +12 -20
  4. package/nstc-g6/components/Calendar/src/basic/year-table.vue +18 -22
  5. package/nstc-g6/components/Calendar/src/main.vue +1 -5
  6. package/nstc-g6/components/DialogForm/index.js +5 -5
  7. package/nstc-g6/components/DialogForm/src/demo/index.vue +18 -27
  8. package/nstc-g6/components/DialogForm/src/main.vue +15 -21
  9. package/nstc-g6/components/Form/A_DEMO/component/originalForm.vue +35 -50
  10. package/nstc-g6/components/Form/A_DEMO/config/config_3.js +1115 -1110
  11. package/nstc-g6/components/Form/A_DEMO/index.vue +7 -29
  12. package/nstc-g6/components/Form/AutocompleteCustom/index.vue +3 -5
  13. package/nstc-g6/components/Form/BusinessSpecific/InputMultiple.vue +60 -62
  14. package/nstc-g6/components/Form/BusinessSpecific/InputWithUnit.vue +12 -35
  15. package/nstc-g6/components/Form/BusinessSpecific/SelectTreeDialog.vue +77 -77
  16. package/nstc-g6/components/Form/CascaderCustom/index.vue +4 -4
  17. package/nstc-g6/components/Form/CheckboxCustom/index.vue +5 -11
  18. package/nstc-g6/components/Form/Component.vue +56 -78
  19. package/nstc-g6/components/Form/ComponentSecond.vue +55 -77
  20. package/nstc-g6/components/Form/InputAndDialog/index.js +5 -5
  21. package/nstc-g6/components/Form/InputAndDialog/src/main.vue +130 -153
  22. package/nstc-g6/components/Form/InputCustom/demo/index.vue +4 -12
  23. package/nstc-g6/components/Form/InputCustom/index.vue +51 -54
  24. package/nstc-g6/components/Form/IntervalinputCustom/demo/index.vue +1 -3
  25. package/nstc-g6/components/Form/IntervalinputCustom/index.vue +19 -41
  26. package/nstc-g6/components/Form/Item.vue +15 -30
  27. package/nstc-g6/components/Form/ItemSecond.vue +7 -22
  28. package/nstc-g6/components/Form/List.vue +12 -28
  29. package/nstc-g6/components/Form/ListSecond.vue +11 -27
  30. package/nstc-g6/components/Form/RadioCustom/index.vue +5 -23
  31. package/nstc-g6/components/Form/SelectAccount/index.js +5 -5
  32. package/nstc-g6/components/Form/SelectAccount/src/demo/index.vue +34 -28
  33. package/nstc-g6/components/Form/SelectAccount/src/main.vue +112 -83
  34. package/nstc-g6/components/Form/SelectAndDialog/index.js +5 -5
  35. package/nstc-g6/components/Form/SelectAndDialog/src/main.vue +126 -149
  36. package/nstc-g6/components/Form/SelectCashFlow/index.js +5 -5
  37. package/nstc-g6/components/Form/SelectCashFlow/src/demo/index.vue +18 -19
  38. package/nstc-g6/components/Form/SelectCashFlow/src/main.vue +52 -41
  39. package/nstc-g6/components/Form/SelectCustom/demo/index.vue +14 -16
  40. package/nstc-g6/components/Form/SelectCustom/index.vue +129 -139
  41. package/nstc-g6/components/Form/SelectSubject/index.js +5 -5
  42. package/nstc-g6/components/Form/SelectSubject/src/demo/index.vue +42 -48
  43. package/nstc-g6/components/Form/SelectSubject/src/main.vue +83 -86
  44. package/nstc-g6/components/Form/SelectindialogCustom/demo/index.vue +34 -35
  45. package/nstc-g6/components/Form/SelectindialogCustom/index.vue +133 -148
  46. package/nstc-g6/components/Form/SelectindialogCustom/install.js +3 -3
  47. package/nstc-g6/components/Form/TableRadioCustom/demo/index.vue +1 -7
  48. package/nstc-g6/components/Form/TableRadioCustom/index.vue +17 -26
  49. package/nstc-g6/components/Form/TextCustom/index.vue +2 -2
  50. package/nstc-g6/components/Form/UploadCustom/demo/index.vue +1 -3
  51. package/nstc-g6/components/Form/UploadCustom/index.vue +143 -173
  52. package/nstc-g6/components/Form/configs.js +3 -14
  53. package/nstc-g6/components/Form/configsSecond.js +3 -16
  54. package/nstc-g6/components/Form/index.js +1 -1
  55. package/nstc-g6/components/Form/payeePersonSelect/index.js +5 -5
  56. package/nstc-g6/components/Form/payeePersonSelect/src/demo/index.vue +50 -44
  57. package/nstc-g6/components/Form/payeePersonSelect/src/main.vue +73 -82
  58. package/nstc-g6/components/FormGroup/index.js +5 -5
  59. package/nstc-g6/components/FormGroup/src/demo/config.js +18 -19
  60. package/nstc-g6/components/FormGroup/src/demo/index.vue +14 -22
  61. package/nstc-g6/components/FormGroup/src/main.vue +122 -141
  62. package/nstc-g6/components/FormGroup/src/validate.js +11 -13
  63. package/nstc-g6/components/InputTag/InputTag.vue +78 -111
  64. package/nstc-g6/components/NstcBackToTop/NstcBackToTop.vue +24 -24
  65. package/nstc-g6/components/NstcBranchLazyLoad/NstcBranchLazyLoad.vue +4 -13
  66. package/nstc-g6/components/NstcCharts/NstcCharts.vue +9 -18
  67. package/nstc-g6/components/NstcCharts/define.js +1 -6
  68. package/nstc-g6/components/NstcConfirm/NstcConfirm.vue +6 -21
  69. package/nstc-g6/components/NstcConfirm/index.js +21 -19
  70. package/nstc-g6/components/NstcDialog/NstcDialog.vue +34 -38
  71. package/nstc-g6/components/NstcDialogForm/NstcDialogForm.vue +17 -21
  72. package/nstc-g6/components/NstcDialogTable/NstcDialogTable.vue +4 -17
  73. package/nstc-g6/components/NstcDropdown/NstcDropdown.vue +2 -12
  74. package/nstc-g6/components/NstcDropdownTree/NstcDropdownTree.vue +3 -13
  75. package/nstc-g6/components/NstcElectronicFile/NstcElectronicFile.vue +18 -78
  76. package/nstc-g6/components/NstcExcelCustomImport/NstcExcelCustomImport.vue +121 -147
  77. package/nstc-g6/components/NstcExcelImport/NstcExcelImport.vue +9 -31
  78. package/nstc-g6/components/NstcExcelImportN/NstcExcelImportN.vue +10 -33
  79. package/nstc-g6/components/NstcExpandCollapse/NstcExpandCollapse.vue +12 -16
  80. package/nstc-g6/components/NstcFileUpload/NstcFileUpload.vue +19 -75
  81. package/nstc-g6/components/NstcForm/A_DEMO/component/originalForm.vue +35 -50
  82. package/nstc-g6/components/NstcForm/A_DEMO/config/config_3.js +1115 -1110
  83. package/nstc-g6/components/NstcForm/A_DEMO/index.vue +340 -354
  84. package/nstc-g6/components/NstcForm/AutocompleteCustom/index.vue +2 -2
  85. package/nstc-g6/components/NstcForm/BusinessSpecific/InputWithUnit.vue +11 -34
  86. package/nstc-g6/components/NstcForm/BusinessSpecific/SelectTreeDialog.vue +77 -77
  87. package/nstc-g6/components/NstcForm/CheckboxCustom/index.vue +5 -11
  88. package/nstc-g6/components/NstcForm/Component.vue +17 -62
  89. package/nstc-g6/components/NstcForm/ComponentSecond.vue +55 -77
  90. package/nstc-g6/components/NstcForm/InputAndDialog/NstcInputAndDialog.vue +6 -24
  91. package/nstc-g6/components/NstcForm/InputCustom/index.vue +2 -8
  92. package/nstc-g6/components/NstcForm/IntervalInputCustom/index.vue +4 -21
  93. package/nstc-g6/components/NstcForm/Item.vue +3 -15
  94. package/nstc-g6/components/NstcForm/ItemSecond.vue +7 -22
  95. package/nstc-g6/components/NstcForm/List.vue +12 -28
  96. package/nstc-g6/components/NstcForm/ListSecond.vue +11 -27
  97. package/nstc-g6/components/NstcForm/RadioCustom/index.vue +5 -23
  98. package/nstc-g6/components/NstcForm/SelectAccount/NstcSelectAccount.vue +4 -24
  99. package/nstc-g6/components/NstcForm/SelectAndDialog/NstcSelectAndDialog.vue +7 -30
  100. package/nstc-g6/components/NstcForm/SelectCashFlow/NstcSelectCashFlow.vue +50 -38
  101. package/nstc-g6/components/NstcForm/SelectCustom/index.vue +6 -16
  102. package/nstc-g6/components/NstcForm/SelectSubject/NstcSelectSubject.vue +72 -82
  103. package/nstc-g6/components/NstcForm/SelectindialogCustom/index.vue +6 -20
  104. package/nstc-g6/components/NstcForm/TableRadioCustom/index.vue +17 -26
  105. package/nstc-g6/components/NstcForm/TextCustom/index.vue +2 -2
  106. package/nstc-g6/components/NstcForm/UploadCustom/index.vue +13 -60
  107. package/nstc-g6/components/NstcForm/configs.js +3 -14
  108. package/nstc-g6/components/NstcForm/configsSecond.js +3 -16
  109. package/nstc-g6/components/NstcForm/index.js +1 -1
  110. package/nstc-g6/components/NstcForm/payeePersonSelect/NstcPayeePerson.vue +57 -73
  111. package/nstc-g6/components/NstcPagination/NstcPagination.vue +2 -12
  112. package/nstc-g6/components/NstcScreenFull/NstcScreenFull.vue +2 -3
  113. package/nstc-g6/components/NstcSelectTree/NstcSelectTree.vue +4 -15
  114. package/nstc-g6/components/NstcSelectTreeList/NstcSelectTreeList.vue +5 -20
  115. package/nstc-g6/components/NstcSticky/NstcSticky.vue +10 -4
  116. package/nstc-g6/components/NstcSvgIcon/NstcSvgIcon.vue +1 -7
  117. package/nstc-g6/components/NstcTab/NstcTab.vue +8 -20
  118. package/nstc-g6/components/NstcTabWithBadge/NstcTabWithBadge.vue +7 -7
  119. package/nstc-g6/components/NstcTable/ElTableColumnCustom/index.vue +88 -126
  120. package/nstc-g6/components/NstcTable/NstcTable.vue +4 -17
  121. package/nstc-g6/components/NstcTableSet/NstcTableSet.vue +27 -72
  122. package/nstc-g6/components/NstcThemePicker/NstcThemePicker.vue +13 -14
  123. package/nstc-g6/components/NstcUploadCustomExcel/NstcUploadCustomExcel.vue +3 -13
  124. package/nstc-g6/components/NstcUploadExcel/NstcUploadExcel.vue +21 -22
  125. package/nstc-g6/components/NstcWorkBench/NstcWorkBench.vue +4 -17
  126. package/nstc-g6/components/Search/NstcSearch.vue +12 -47
  127. package/nstc-g6/components/Search/src/demo/index copy.vue +28 -28
  128. package/nstc-g6/components/Search/src/demo/index.vue +36 -36
  129. package/nstc-g6/components/Search/src/main copy.vue +169 -204
  130. package/nstc-g6/components/approvelTwo/main.vue +2 -6
  131. package/nstc-g6/components/approvelTwo/progress.vue +7 -29
  132. package/nstc-g6/directives/VCopy/index.js +52 -54
  133. package/nstc-g6/directives/VNstcNumber/index.js +1 -1
  134. package/nstc-g6/directives/VNstcNumber/temp.js +357 -362
  135. package/nstc-g6/utils/mapper_aims.js +774 -775
  136. package/nstc-g6/utils/parseTime.js +38 -36
  137. package/nstc-g6/utils/validate/index.js +2 -2
  138. package/nstc-g6/utils/vendor/Export2Excel.js +110 -111
  139. package/nstc-g6/utils/vendor/Export2Zip.js +12 -7
  140. package/nstc-g6/utils/vue-bus.js +1 -1
  141. package/package.json +1 -1
  142. package/src/assets/iconFont/demo_index.html +1 -1
  143. package/src/assets/iconFont/iconfont.js +66 -1
  144. package/src/assets/iconFont2/demo_index.html +277 -286
  145. package/src/assets/iconFont2/iconfont.js +66 -1
  146. package/src/components/Button/button-group.vue +1 -1
  147. package/src/components/LoginTemporary/indexN.vue +12 -2
  148. package/src/components/TableOperateColumn/index.vue +1 -1
  149. package/src/i18n.json +2 -2
  150. package/src/plugins/Print/print-js/README.md +5 -5
  151. package/src/plugins/Print/print-js/package.json +2 -2
  152. package/src/plugins/Print/print-js/src/index.d.ts +36 -36
  153. package/src/plugins/Print/print-js/src/js/browser.js +3 -1
  154. package/src/plugins/Print/print-js/src/js/functions.js +16 -10
  155. package/src/plugins/Print/print-js/src/js/html.js +2 -2
  156. package/src/plugins/Print/print-js/src/js/image.js +1 -1
  157. package/src/plugins/Print/print-js/src/js/init.js +15 -7
  158. package/src/plugins/Print/print-js/src/js/json.js +14 -4
  159. package/src/plugins/Print/print-js/src/js/modal.js +16 -15
  160. package/src/plugins/Print/print-js/src/js/pdf.js +1 -1
  161. package/src/plugins/Print/print-js/src/js/print.js +6 -6
  162. package/src/plugins/Sign/NetSM3/InfosecNetSignCNGAgent.min.js +1825 -1592
  163. package/src/plugins/Sign/cfca/index.js +525 -520
  164. package/src/plugins/Sign/sign.js +128 -128
  165. package/style/index.css +1 -1
  166. package/style/index.css.map +1 -1
  167. package/theme/blue.css +1 -1
  168. package/theme/cctcRed.css +1 -1
  169. package/theme/green.css +1 -1
  170. package/theme/lightBlue.css +1 -1
  171. package/theme/orange.css +1 -1
  172. package/theme/purple.css +1 -1
  173. package/theme/red.css +1 -1
  174. package/theme/yellow.css +1 -1
@@ -17,1084 +17,1094 @@ let current_open_model = ''
17
17
  // 当前子母证类型
18
18
  let current_open_type = ''
19
19
  function getTime(date) {
20
- if (date) {
21
- return new Date(date).getTime()
22
- } else {
23
- return 0
24
- }
20
+ if (date) {
21
+ return new Date(date).getTime()
22
+ } else {
23
+ return 0
24
+ }
25
25
  }
26
26
 
27
27
  const config = [
28
- {
29
- formConfig: [
28
+ {
29
+ formConfig: [
30
+ {
31
+ mold: 'input',
32
+ name: '变更原因',
33
+ prop: 'modifyReason',
34
+ placeholder: '请输入',
35
+ renderable: false,
36
+ isRequired
37
+ },
38
+ {
39
+ mold: 'datepicker',
40
+ name: '变更时间',
41
+ prop: 'modifyDate',
42
+ placeholder: '请输入',
43
+ default: '',
44
+ renderable: false,
45
+ isRequired
46
+ }
47
+ ]
48
+ },
49
+ {
50
+ title: '信用证基本信息',
51
+ formConfig: [
52
+ [
53
+ {
54
+ mold: 'selectindialog',
55
+ name: '申请单',
56
+ prop: 'applyId',
57
+ url: '/api/nstc-lcms/open/apply/query',
58
+ title: '申请单列表',
59
+ valueKey: 'applyId',
60
+ labelKey: 'applyId',
61
+ showPagination: false,
62
+ clearable: true,
63
+ columns: [
64
+ {
65
+ label: '申请单号',
66
+ prop: 'applyId'
67
+ },
68
+ {
69
+ label: '国内/国际信用证',
70
+ prop: 'creditKindLabel'
71
+ },
72
+ {
73
+ label: '开证人',
74
+ prop: 'appName'
75
+ },
30
76
  {
31
- mold: 'input',
32
- name: '变更原因',
33
- prop: 'modifyReason',
34
- placeholder: '请输入',
35
- renderable: false,
36
- isRequired
77
+ label: '受益人',
78
+ prop: 'beneName'
37
79
  },
38
80
  {
39
- mold: 'datepicker',
40
- name: '变更时间',
41
- prop: 'modifyDate',
42
- placeholder: '请输入',
43
- default: '',
44
- renderable: false,
45
- isRequired
81
+ label: '币种',
82
+ prop: 'currencyName'
83
+ },
84
+ {
85
+ label: '开证金额',
86
+ prop: 'blAmount',
87
+ formatter: function (row, column, cellValue, index) {
88
+ console.log(index)
89
+ return amountFormat(cellValue, 2) + ' 元'
90
+ }
91
+ },
92
+ {
93
+ label: '开证日期',
94
+ prop: 'issueDate'
95
+ },
96
+ {
97
+ label: '有效期',
98
+ prop: 'dueDate'
46
99
  }
47
- ]
48
- },
49
- {
50
- title: '信用证基本信息',
51
- formConfig: [
52
- [{
53
- mold: 'selectindialog',
54
- name: '申请单',
55
- prop: 'applyId',
56
- url: '/api/nstc-lcms/open/apply/query',
57
- title: '申请单列表',
58
- valueKey: 'applyId',
59
- labelKey: 'applyId',
60
- showPagination: false,
61
- clearable: true,
62
- columns: [
63
- {
64
- label: '申请单号',
65
- prop: 'applyId'
66
- },
67
- {
68
- label: '国内/国际信用证',
69
- prop: 'creditKindLabel'
70
- },
71
- {
72
- label: '开证人',
73
- prop: 'appName'
74
- },
75
- {
76
- label: '受益人',
77
- prop: 'beneName'
78
- },
79
- {
80
- label: '币种',
81
- prop: 'currencyName'
82
- },
83
- {
84
- label: '开证金额',
85
- prop: 'blAmount',
86
- formatter: function(row, column, cellValue, index) {
87
- console.log(index)
88
- return amountFormat(cellValue, 2) + ' 元'
89
- }
90
- },
91
- {
92
- label: '开证日期',
93
- prop: 'issueDate'
94
- },
95
- {
96
- label: '有效期',
97
- prop: 'dueDate'
98
- }
99
- ],
100
- async queryDataFormatter(data) {
101
- const keys = ['currency', 'CreditKind']
102
- const { lcms } = await store.dispatch('common/getEnums', { lcms: keys })
103
- function getLabel(arr, key) {
104
- const temp = arr.filter(i => { return i.value === key })
105
- return temp.length ? temp[0].label : ''
106
- }
107
- return data.map(i => {
108
- i[`currencyName`] = getLabel(lcms[`currency`], i[`currency`])
109
- i[`creditKindLabel`] = getLabel(lcms[`CreditKind`], i[`creditKind`])
110
- return i
111
- })
112
- },
113
- link: [
114
- 'creditKind', // 国内国际信用证
115
- 'creditType', // 信用证类型
116
- 'payDateType', // 兑用方式
117
- 'forwardPayDateDay', // 远期天数
118
- 'payType', // 即期/远期
119
- 'currency', // 币种
120
- 'blAmount', // 开证金额
121
- 'issueDate', // 开证日期
122
- 'floatProp', // 金额浮动比例
123
- 'dueDate', // 有效期
124
- 'advisingOpenBankName', // 通知行
125
- 'recourse', // 是否有追索权
126
- 'creditNature', // 是否可以撤销
127
- 'partialShipments', // 是否分装
128
- 'transhipment', // 是否转船
129
- 'endPlace', // 目的港
130
- 'startPlace', // 起运港
131
- 'outletid'
132
- ].map(prop => ({
133
- prop,
134
- handler: (val) => {
135
- if (!val || !val.applyId) {
136
- return {}
137
- } else if (['outletid'].includes(prop)) {
138
- // 特殊处理的
139
- return {
140
- default: {
141
- assId: val.outletid + '',
142
- assBankName: val[`outletName`],
143
- bankCode: val[`bank`]
144
- }
145
- }
146
- } else {
147
- return {
148
- default: val[prop]
149
- }
150
- }
151
- }
152
- }))
153
- }],
154
- [
155
- {
156
- mold: 'select',
157
- name: '国内/国际信用证',
158
- prop: 'creditKind',
159
- options: [],
160
- default: 'ILC',
161
- link: ['advisingBankName', 'openModel', 'creditType'].map(prop => ({
162
- prop,
163
- handler: async(val) => {
164
- if (prop === 'advisingBankName') {
165
- return {
166
- name: val === 'DLC' ? '转开/通知行' : '通知行'
167
- }
168
- } else if (prop === 'openModel') {
169
- return {
170
- renderable: val === 'ILC'
171
- }
172
- } else if (prop === 'creditType') {
173
- const { lcms: { CreditType }} = await store.dispatch('common/getEnums', { lcms: ['CreditType'] })
174
- CreditType[1].disabled = val === 'DLC'
175
- return {
176
- options: CreditType.filter(i => { return !i.disabled })
177
- }
178
- }
179
- }
180
- }))
181
- },
182
- {
183
- mold: 'select',
184
- name: '开证模式',
185
- prop: 'openModel',
186
- options: [],
187
- default: 3,
188
- isRequired,
189
- // renderable: false,
190
- link: [
191
- {
192
- mold: 'select',
193
- name: '母/子',
194
- prop: 'openType',
195
- width: 120,
196
- default: 0,
197
- isRequired,
198
- labelWidth: '84px',
199
- options: [
200
- { label: '母', value: 0 },
201
- { label: '子', value: 1 }
202
- ],
203
- // 这个函数只有link里面才有这样的函数
204
- change(val) {
205
- current_open_type = val
206
- },
207
- handler(val) {
208
- current_open_model = val
209
- return {
210
- renderable: val === 1
211
- }
212
- }
213
- }
214
- ]
215
- }
216
- ],
217
- [
218
- {
219
- mold: 'input',
220
- name: '信用证号',
221
- prop: 'blNo',
222
- isNotZh: true,
223
- isRequired
224
- },
225
- {
226
- mold: 'select',
227
- name: '开证方式',
228
- prop: 'openWay',
229
- options: [],
230
- default: 1,
231
- isRequired,
232
- link: [{
233
- mold: 'selectindialog',
234
- name: '代开申请人',
235
- prop: 'openInputor',
236
- width: 120,
237
- labelWidth: '1',
238
- handler(val) {
239
- return {
240
- renderable: val === 2
241
- }
242
- },
243
- url: '/api/nstc-lcms/open/relCorp/query',
244
- isRequired,
245
- labelKey: 'relCorpFullName',
246
- valueKey: 'relCorpId',
247
- formLabelWidth: 96,
248
- formConfig: [
249
- {
250
- mold: 'input',
251
- name: '单位名称',
252
- prop: 'relCorpFullName',
253
- width: '180px'
254
- },
255
- {
256
- mold: 'input',
257
- name: '组织编号',
258
- prop: 'relCorpNo',
259
- width: '180px'
260
- }
261
- ],
262
- columns: [
263
- {
264
- label: '组织编号',
265
- prop: 'relCorpNo'
266
- },
267
- {
268
- label: '单位中文名称',
269
- prop: 'relCorpFullName'
270
- },
271
- {
272
- label: '单位简称',
273
- prop: 'relCorpName'
274
- },
275
- {
276
- label: '单位类型',
277
- prop: 'relCorpType'
278
- }
279
- ]
280
- }]
100
+ ],
101
+ async queryDataFormatter(data) {
102
+ const keys = ['currency', 'CreditKind']
103
+ const { lcms } = await store.dispatch('common/getEnums', { lcms: keys })
104
+ function getLabel(arr, key) {
105
+ const temp = arr.filter((i) => {
106
+ return i.value === key
107
+ })
108
+ return temp.length ? temp[0].label : ''
109
+ }
110
+ return data.map((i) => {
111
+ i[`currencyName`] = getLabel(lcms[`currency`], i[`currency`])
112
+ i[`creditKindLabel`] = getLabel(lcms[`CreditKind`], i[`creditKind`])
113
+ return i
114
+ })
115
+ },
116
+ link: [
117
+ 'creditKind', // 国内国际信用证
118
+ 'creditType', // 信用证类型
119
+ 'payDateType', // 兑用方式
120
+ 'forwardPayDateDay', // 远期天数
121
+ 'payType', // 即期/远期
122
+ 'currency', // 币种
123
+ 'blAmount', // 开证金额
124
+ 'issueDate', // 开证日期
125
+ 'floatProp', // 金额浮动比例
126
+ 'dueDate', // 有效期
127
+ 'advisingOpenBankName', // 通知行
128
+ 'recourse', // 是否有追索权
129
+ 'creditNature', // 是否可以撤销
130
+ 'partialShipments', // 是否分装
131
+ 'transhipment', // 是否转船
132
+ 'endPlace', // 目的港
133
+ 'startPlace', // 起运港
134
+ 'outletid'
135
+ ].map((prop) => ({
136
+ prop,
137
+ handler: (val) => {
138
+ if (!val || !val.applyId) {
139
+ return {}
140
+ } else if (['outletid'].includes(prop)) {
141
+ // 特殊处理的
142
+ return {
143
+ default: {
144
+ assId: val.outletid + '',
145
+ assBankName: val[`outletName`],
146
+ bankCode: val[`bank`]
147
+ }
281
148
  }
282
- ],
283
- [
284
- {
285
- mold: 'selectindialog',
286
- name: '开证行名称',
287
- title: '选择银行',
288
- prop: 'outletid',
289
- url: '/api/nstc-lcms/open/association/list/query',
290
- remote: true,
291
- clearable: true,
292
- valueKey: 'assId',
293
- labelKey: 'assBankName',
294
- formLabelWidth: 96,
295
- query: 'assBankName',
296
- isRequired,
297
- formConfig: [
298
- {
299
- mold: 'input',
300
- name: '网点编号',
301
- prop: 'assBankCode',
302
- width: '180px'
303
- },
304
- {
305
- mold: 'input',
306
- name: '网点名称',
307
- prop: 'assBankName',
308
- width: '180px'
309
- }
310
- ],
311
- columns: [
312
- {
313
- label: '网点编号',
314
- prop: 'assBankCode'
315
- },
316
- {
317
- label: '网点名称',
318
- prop: 'assBankName'
319
- }
320
- ]
321
- },
322
- {
323
- mold: 'select',
324
- name: '信用证类型',
325
- prop: 'creditType',
326
- options: [],
327
- default: 'DOCUMENTARY',
328
- isRequired
149
+ } else {
150
+ return {
151
+ default: val[prop]
329
152
  }
330
- ],
331
- [
332
- {
333
- mold: 'select',
334
- name: '即期/远期',
335
- prop: 'payType',
336
- options: [],
337
- default: 'FORWARD',
338
- isRequired,
339
- link: [{
340
- mold: 'input',
341
- name: '远期天数',
342
- prop: 'forwardPayDateDay',
343
- numberRule: { max: 10000, min: 0, precision: 0 },
344
- class: ['nstc-rate-num', 'forward-date-box'],
345
- width: 120,
346
- unit: '天',
347
- isRequired,
348
- labelWidth: '50',
349
- handler(val) {
350
- return {
351
- renderable: val === 'FORWARD'
352
- }
353
- }
354
- }, {
355
- prop: 'payDateType',
356
- async handler(val) {
357
- let def = null
358
- let options = []
359
-
360
- if (val) {
361
- const { lcms: { PayDateType }} = await store.dispatch('common/getEnums', { lcms: ['PayDateType'] })
362
-
363
- if (val === 'FORWARD') {
364
- options = PayDateType.filter(item => !['due'].includes(item.value))
365
- } else {
366
- options = PayDateType.filter(item => !['delay', 'acceptance'].includes(item.value))
367
- }
368
- def = options[0].value
369
- }
370
-
371
- return {
372
- default: def,
373
- options
374
- }
375
- }
376
- }]
377
- },
378
- {
379
- mold: 'select',
380
- name: '兑用方式',
381
- prop: 'payDateType',
382
- options: [],
383
- default: 'negotiation',
384
- isRequired
153
+ }
154
+ }
155
+ }))
156
+ }
157
+ ],
158
+ [
159
+ {
160
+ mold: 'select',
161
+ name: '国内/国际信用证',
162
+ prop: 'creditKind',
163
+ options: [],
164
+ default: 'ILC',
165
+ link: ['advisingBankName', 'openModel', 'creditType'].map((prop) => ({
166
+ prop,
167
+ handler: async (val) => {
168
+ if (prop === 'advisingBankName') {
169
+ return {
170
+ name: val === 'DLC' ? '转开/通知行' : '通知行'
385
171
  }
386
- ],
387
- [
388
- {
389
- mold: 'select',
390
- name: '币种',
391
- prop: 'currency',
392
- options: [],
393
- isRequired
394
- },
395
- {
396
- mold: 'input',
397
- name: '开证金额',
398
- prop: 'blAmount',
399
- placeholder: '请保留两位小数',
400
- numberRule: { min: 0, precision: 2, isMoney: true },
401
- type: 'number',
402
- isRequired,
403
- link: [{
404
- prop: 'issueFee',
405
- handler(val) {
406
- temp_blAmount = val
407
- return val
408
- }
409
- }]
172
+ } else if (prop === 'openModel') {
173
+ return {
174
+ renderable: val === 'ILC'
410
175
  }
411
- ],
412
- [
413
- {
414
- mold: 'datepicker',
415
- name: '开证日期',
416
- prop: 'issueDate',
417
- isRequired,
418
- link: [
419
- {
420
- prop: 'dueDate',
421
- handler(val) {
422
- if (!val) {
423
- return {
424
- default: null
425
- }
426
- }
427
- temp_date_issueDate = val
428
- return {
429
- pickerOptions: {
430
- disabledDate(time) {
431
- return time.getTime() < new Date(val).getTime()
432
- }
433
- }
434
- }
435
- }
436
- },
437
- {
438
- prop: 'lastShipmentDate',
439
- handler(val) {
440
- console.log('set time')
441
- if (!val) {
442
- return {
443
- default: null
444
- }
445
- }
446
- return {
447
- pickerOptions: {
448
- disabledDate(time) {
449
- return time.getTime() < new Date(val).getTime()
450
- }
451
- }
452
- }
453
- }
454
- }
455
- ]
456
- },
457
- {
458
- mold: 'input',
459
- name: '金额浮动比例',
460
- prop: 'floatProp',
461
- placeholder: '请保留两位小数',
462
- numberRule: { max: 100, min: 0, precision: 2 },
463
- class: ['nstc-rate-num'],
464
- default: 0,
465
- unit: '%',
466
- isRequired
176
+ } else if (prop === 'creditType') {
177
+ const {
178
+ lcms: { CreditType }
179
+ } = await store.dispatch('common/getEnums', { lcms: ['CreditType'] })
180
+ CreditType[1].disabled = val === 'DLC'
181
+ return {
182
+ options: CreditType.filter((i) => {
183
+ return !i.disabled
184
+ })
467
185
  }
468
- ],
469
- [
470
- {
471
- mold: 'datepicker',
472
- name: '有效期',
473
- prop: 'dueDate',
474
- isRequired,
475
- link: [
476
- {
477
- prop: 'lastShipmentDate',
478
- handler(val) {
479
- if (!val) {
480
- return {}
481
- }
482
- return {
483
- pickerOptions: {
484
- disabledDate(time) {
485
- const min = new Date(temp_date_issueDate).getTime()
486
- const max = new Date(val).getTime()
487
- const s = time.getTime()
488
- return temp_date_issueDate ? ((s < min) || (s > max)) : (s > max)
489
- }
490
- }
491
- }
492
- }
493
- }
494
- ]
495
- },
496
- {
497
- mold: 'input',
498
- name: '通知行',
499
- prop: 'advisingOpenBankName'
186
+ }
187
+ }
188
+ }))
189
+ },
190
+ {
191
+ mold: 'select',
192
+ name: '开证模式',
193
+ prop: 'openModel',
194
+ options: [],
195
+ default: 3,
196
+ isRequired,
197
+ // renderable: false,
198
+ link: [
199
+ {
200
+ mold: 'select',
201
+ name: '母/子',
202
+ prop: 'openType',
203
+ width: 120,
204
+ default: 0,
205
+ isRequired,
206
+ labelWidth: '84px',
207
+ options: [
208
+ { label: '母', value: 0 },
209
+ { label: '子', value: 1 }
210
+ ],
211
+ // 这个函数只有link里面才有这样的函数
212
+ change(val) {
213
+ current_open_type = val
214
+ },
215
+ handler(val) {
216
+ current_open_model = val
217
+ return {
218
+ renderable: val === 1
500
219
  }
501
- ],
502
- [
503
- {
504
- mold: 'radio',
505
- name: '是否有追索权',
506
- prop: 'recourse',
507
- options: yesOrNo,
508
- default: 1,
509
- isRequired
510
- },
511
- {
512
- mold: 'radio',
513
- name: '是否可撤销',
514
- prop: 'creditNature',
515
- options: [
516
- { label: '', value: 'ALLOWUNDO' },
517
- { label: '', value: 'NOTUNDO' }
518
- ],
519
- default: 'ALLOWUNDO',
520
- isRequired
220
+ }
221
+ }
222
+ ]
223
+ }
224
+ ],
225
+ [
226
+ {
227
+ mold: 'input',
228
+ name: '信用证号',
229
+ prop: 'blNo',
230
+ isNotZh: true,
231
+ isRequired
232
+ },
233
+ {
234
+ mold: 'select',
235
+ name: '开证方式',
236
+ prop: 'openWay',
237
+ options: [],
238
+ default: 1,
239
+ isRequired,
240
+ link: [
241
+ {
242
+ mold: 'selectindialog',
243
+ name: '代开申请人',
244
+ prop: 'openInputor',
245
+ width: 120,
246
+ labelWidth: '1',
247
+ handler(val) {
248
+ return {
249
+ renderable: val === 2
521
250
  }
522
- ],
523
- [
251
+ },
252
+ url: '/api/nstc-lcms/open/relCorp/query',
253
+ isRequired,
254
+ labelKey: 'relCorpFullName',
255
+ valueKey: 'relCorpId',
256
+ formLabelWidth: 96,
257
+ formConfig: [
524
258
  {
525
- mold: 'radio',
526
- name: '是否允许分装',
527
- prop: 'partialShipments',
528
- options: yesOrNo,
529
- default: 1,
530
- isRequired
259
+ mold: 'input',
260
+ name: '单位名称',
261
+ prop: 'relCorpFullName',
262
+ width: '180px'
531
263
  },
532
264
  {
533
- mold: 'radio',
534
- name: '是否允许转船',
535
- prop: 'transhipment',
536
- options: yesOrNo,
537
- default: 1,
538
- isRequired
265
+ mold: 'input',
266
+ name: '组织编号',
267
+ prop: 'relCorpNo',
268
+ width: '180px'
539
269
  }
540
- ],
541
- [
270
+ ],
271
+ columns: [
542
272
  {
543
- mold: 'input',
544
- name: '目的港',
545
- prop: 'endPlace'
273
+ label: '组织编号',
274
+ prop: 'relCorpNo'
546
275
  },
547
276
  {
548
- mold: 'input',
549
- name: '起运港',
550
- prop: 'startPlace'
551
- }
552
- ],
553
- [
554
- {
555
- mold: 'datepicker',
556
- name: '最迟装运期',
557
- prop: 'lastShipmentDate',
558
- default: null,
559
- isRequired
277
+ label: '单位中文名称',
278
+ prop: 'relCorpFullName'
560
279
  },
561
280
  {
562
- mold: 'input',
563
- name: '开证行电话',
564
- prop: 'appBankTel',
565
- maxLength: 11
566
- }
567
- ],
568
- [
569
- {
570
- mold: 'input',
571
- name: '开证行地址',
572
- prop: 'appBankAddr',
573
- maxLength: 96
281
+ label: '单位简称',
282
+ prop: 'relCorpName'
574
283
  },
575
284
  {
576
- mold: 'input',
577
- name: '开证行邮编',
578
- prop: 'appBankPostCode',
579
- maxlength: 9
285
+ label: '单位类型',
286
+ prop: 'relCorpType'
580
287
  }
581
- ],
582
- [
583
- {
584
- mold: 'input',
585
- name: '开证行传真',
586
- prop: 'appBankFax'
587
- },
588
- {
589
- mold: 'input',
590
- name: '转开/通知行号',
591
- prop: 'advisingOpenBankNo',
592
- maxLength: 7
288
+ ]
289
+ }
290
+ ]
291
+ }
292
+ ],
293
+ [
294
+ {
295
+ mold: 'selectindialog',
296
+ name: '开证行名称',
297
+ title: '选择银行',
298
+ prop: 'outletid',
299
+ url: '/api/nstc-lcms/open/association/list/query',
300
+ remote: true,
301
+ clearable: true,
302
+ valueKey: 'assId',
303
+ labelKey: 'assBankName',
304
+ formLabelWidth: 96,
305
+ query: 'assBankName',
306
+ isRequired,
307
+ formConfig: [
308
+ {
309
+ mold: 'input',
310
+ name: '网点编号',
311
+ prop: 'assBankCode',
312
+ width: '180px'
313
+ },
314
+ {
315
+ mold: 'input',
316
+ name: '网点名称',
317
+ prop: 'assBankName',
318
+ width: '180px'
319
+ }
320
+ ],
321
+ columns: [
322
+ {
323
+ label: '网点编号',
324
+ prop: 'assBankCode'
325
+ },
326
+ {
327
+ label: '网点名称',
328
+ prop: 'assBankName'
329
+ }
330
+ ]
331
+ },
332
+ {
333
+ mold: 'select',
334
+ name: '信用证类型',
335
+ prop: 'creditType',
336
+ options: [],
337
+ default: 'DOCUMENTARY',
338
+ isRequired
339
+ }
340
+ ],
341
+ [
342
+ {
343
+ mold: 'select',
344
+ name: '即期/远期',
345
+ prop: 'payType',
346
+ options: [],
347
+ default: 'FORWARD',
348
+ isRequired,
349
+ link: [
350
+ {
351
+ mold: 'input',
352
+ name: '远期天数',
353
+ prop: 'forwardPayDateDay',
354
+ numberRule: { max: 10000, min: 0, precision: 0 },
355
+ class: ['nstc-rate-num', 'forward-date-box'],
356
+ width: 120,
357
+ unit: '天',
358
+ isRequired,
359
+ labelWidth: '50',
360
+ handler(val) {
361
+ return {
362
+ renderable: val === 'FORWARD'
593
363
  }
594
- ]
595
- ]
596
- },
597
- {
598
- title: '开证人/受益人信息',
599
- formConfig: [
600
- [
601
- {
602
- mold: 'selectindialog',
603
- title: '选择单位',
604
- name: '开证人-名称',
605
- prop: 'appNo',
606
- isRequired,
607
- remote: true,
608
- clearable: true,
609
- showPagination: true,
610
- placeholder: '请输入/选择',
611
- url: '/api/nstc-lcms/open/client/query',
612
- labelKey: 'cltName',
613
- valueKey: 'cltNo',
614
- query: 'cltName',
615
- queryParams: {
616
- cltNoFull: ''
617
- },
618
- formLabelWidth: 96,
619
- width: '290px',
620
- formConfig: [
621
- {
622
- mold: 'input',
623
- name: '单位编号',
624
- prop: 'cltNo',
625
- width: '180px'
626
- },
627
- {
628
- mold: 'input',
629
- name: '单位名称',
630
- prop: 'cltName',
631
- width: '180px'
632
- }
633
- ],
634
- columns: [
635
- {
636
- label: '单位编号',
637
- prop: 'cltNo'
638
- },
639
- {
640
- label: '单位名称',
641
- prop: 'cltName'
642
- }
643
- ],
644
- link: [{
645
- prop: 'appAccountNo',
646
- handler(val) {
647
- let queryParams = {}
648
-
649
- if (val) {
650
- queryParams.cltNo = val.cltNo
651
- // 通过bus将参数抛出去
652
- }
653
- Vue.prototype.$bus.$emit('import_lcms_register_search_bene', val ? val.cltNo : '')
364
+ }
365
+ },
366
+ {
367
+ prop: 'payDateType',
368
+ async handler(val) {
369
+ let def = null
370
+ let options = []
654
371
 
655
- return {
656
- queryParams,
657
- disabled: !val
658
- }
659
- }
660
- }
661
- ]
662
- },
663
- {
664
- mold: 'selectindialog',
665
- title: '受益人',
666
- name: '受益人-名称',
667
- prop: 'beneNo',
668
- placeholder: '请输入/选择',
669
- url: '/api/nstc-lcms/open/relCorp/query',
670
- labelKey: 'relCorpFullName',
671
- valueKey: 'relCorpNo',
672
- query: 'relCorpFullName',
673
- queryParams: {
674
- cltNoFull: ''
675
- },
676
- isRequired,
677
- remote: true,
678
- clearable: true,
679
- showPagination: true,
680
- formLabelWidth: 96,
681
- formConfig: [
682
- {
683
- mold: 'input',
684
- name: '单位中文名称',
685
- prop: 'relCorpFullName',
686
- width: '180px'
687
- },
688
- {
689
- mold: 'input',
690
- name: '组织编号',
691
- prop: 'relCorpNo',
692
- width: '180px'
693
- }
694
- ],
695
- columns: [
696
- {
697
- label: '组织编号',
698
- prop: 'relCorpNo'
699
- },
700
- {
701
- label: '单位中文名称',
702
- prop: 'relCorpFullName'
703
- },
704
- {
705
- label: '单位简称',
706
- prop: 'relCorpName'
707
- },
708
- {
709
- label: '单位类型',
710
- prop: 'relCorpTypeName'
711
- }
712
- ],
713
- link: [{
714
- prop: 'beneAccountNo',
715
- handler(val) {
716
- let queryParams = {}
372
+ if (val) {
373
+ const {
374
+ lcms: { PayDateType }
375
+ } = await store.dispatch('common/getEnums', { lcms: ['PayDateType'] })
717
376
 
718
- if (val) {
719
- queryParams.relCorpId = val.relCorpId
720
- // 通过bus将参数抛出去
721
- }
722
- Vue.prototype.$bus.$emit('import_lcms_register_search_app', val ? val.cltNo : '')
377
+ if (val === 'FORWARD') {
378
+ options = PayDateType.filter((item) => !['due'].includes(item.value))
379
+ } else {
380
+ options = PayDateType.filter((item) => !['delay', 'acceptance'].includes(item.value))
381
+ }
382
+ def = options[0].value
383
+ }
723
384
 
724
- return {
725
- queryParams,
726
- disabled: !val
727
- }
728
- }
729
- }
730
- ],
731
- // 当开证模式前对背 且为母证, 表格里面只能选成员单位
732
- async queryDataFormatter(data) {
733
- if (+current_open_model === 1 && current_open_type === 1) {
734
- data = data.filter(i => {
735
- return +i[`relCorpType`] === 1
736
- })
737
- }
738
- return data
385
+ return {
386
+ default: def,
387
+ options
388
+ }
389
+ }
390
+ }
391
+ ]
392
+ },
393
+ {
394
+ mold: 'select',
395
+ name: '兑用方式',
396
+ prop: 'payDateType',
397
+ options: [],
398
+ default: 'negotiation',
399
+ isRequired
400
+ }
401
+ ],
402
+ [
403
+ {
404
+ mold: 'select',
405
+ name: '币种',
406
+ prop: 'currency',
407
+ options: [],
408
+ isRequired
409
+ },
410
+ {
411
+ mold: 'input',
412
+ name: '开证金额',
413
+ prop: 'blAmount',
414
+ placeholder: '请保留两位小数',
415
+ numberRule: { min: 0, precision: 2, isMoney: true },
416
+ type: 'number',
417
+ isRequired,
418
+ link: [
419
+ {
420
+ prop: 'issueFee',
421
+ handler(val) {
422
+ temp_blAmount = val
423
+ return val
424
+ }
425
+ }
426
+ ]
427
+ }
428
+ ],
429
+ [
430
+ {
431
+ mold: 'datepicker',
432
+ name: '开证日期',
433
+ prop: 'issueDate',
434
+ isRequired,
435
+ link: [
436
+ {
437
+ prop: 'dueDate',
438
+ handler(val) {
439
+ if (!val) {
440
+ return {
441
+ default: null
442
+ }
443
+ }
444
+ temp_date_issueDate = val
445
+ return {
446
+ pickerOptions: {
447
+ disabledDate(time) {
448
+ return time.getTime() < new Date(val).getTime()
739
449
  }
450
+ }
740
451
  }
741
- ],
742
- [
743
- {
744
- mold: 'selectindialog',
745
- title: '账号选择',
746
- name: '开证人-账号',
747
- remote: true,
748
- clearable: true,
749
- prop: 'appAccountNo',
750
- placeholder: '请输入/选择',
751
- url: '/api/nstc-lcms/open/account/query',
752
- labelKey: 'accountNo',
753
- valueKey: 'accountId',
754
- query: 'accountNo',
755
- formLabelWidth: 96,
756
- showPagination: true,
757
- disabled: true,
758
- formConfig: [
759
- {
760
- mold: 'input',
761
- name: '账号',
762
- prop: 'accountNo',
763
- width: '180px'
764
- },
765
- {
766
- mold: 'select',
767
- name: '金融机构',
768
- prop: 'bankNo',
769
- options: [],
770
- width: '180px'
771
- }
772
- ],
773
- columns: [
774
- {
775
- label: '账号',
776
- prop: 'accountNo'
777
- },
778
- {
779
- label: '户名',
780
- prop: 'accountName'
781
- },
782
- {
783
- label: '助记名',
784
- prop: 'memoryName'
785
- },
786
- {
787
- label: '币种',
788
- prop: 'currencyName'
789
- },
790
- {
791
- label: '金融机构',
792
- prop: 'bankName'
793
- }
794
- ],
795
- link: [{
796
- prop: 'appBankNo',
797
- handler(val) {
798
- if (val) {
799
- const def = val ? val.bankNo : null
800
- return {
801
- default: def
802
- }
803
- }
804
- }
805
- }]
806
- },
807
- {
808
- mold: 'selectindialog',
809
- title: '账号选择',
810
- name: '受益人-账号',
811
- remote: true,
812
- clearable: true,
813
- prop: 'beneAccountNo',
814
- placeholder: '请输入/选择',
815
- url: '/api/nstc-lcms/open/relAccount/query',
816
- labelKey: 'accountNo',
817
- valueKey: 'relAccId',
818
- query: 'accountNo',
819
- formLabelWidth: 96,
820
- showPagination: true,
821
- disabled: true,
822
- formConfig: [
823
- {
824
- mold: 'input',
825
- name: '账号',
826
- prop: 'accountNo',
827
- width: '180px'
828
- },
829
- {
830
- mold: 'select',
831
- name: '金融机构',
832
- prop: 'bankNo',
833
- options: [],
834
- width: '180px'
835
- }
836
- ],
837
- columns: [
838
- {
839
- label: '账号',
840
- prop: 'accountNo'
841
- },
842
- {
843
- label: '户名',
844
- prop: 'accountName'
845
- },
846
- {
847
- label: '助记名',
848
- prop: 'memoryName'
849
- },
850
- {
851
- label: '币种',
852
- prop: 'currencyName'
853
- },
854
- {
855
- label: '金融机构',
856
- prop: 'bankName'
857
- }
858
- ],
859
- link: [{
860
- prop: 'beneOpenBankNo',
861
- handler(val) {
862
- const def = val ? val.bankNo : null
863
-
864
- return {
865
- default: def
866
- }
867
- }
868
- }]
452
+ }
453
+ },
454
+ {
455
+ prop: 'lastShipmentDate',
456
+ handler(val) {
457
+ console.log('set time')
458
+ if (!val) {
459
+ return {
460
+ default: null
461
+ }
869
462
  }
870
- ],
871
- [
872
- {
873
- mold: 'select',
874
- name: '开证人-开户行',
875
- prop: 'appBankNo',
876
- width: 294,
877
- filterable: true,
878
- disabled: true
879
- },
880
- {
881
- mold: 'select',
882
- name: '受益人-开户行',
883
- width: 294,
884
- filterable: true,
885
- prop: 'beneOpenBankNo',
886
- disabled: true
463
+ return {
464
+ pickerOptions: {
465
+ disabledDate(time) {
466
+ return time.getTime() < new Date(val).getTime()
467
+ }
468
+ }
887
469
  }
888
- ],
889
- [
890
- {
891
- mold: 'input',
892
- name: '开证人-地址',
893
- prop: 'appAddr',
894
- renderable: false
895
- },
896
- {
897
- mold: 'input',
898
- name: '受益人-地址',
899
- prop: 'beneAddr',
900
- renderable: false
470
+ }
471
+ }
472
+ ]
473
+ },
474
+ {
475
+ mold: 'input',
476
+ name: '金额浮动比例',
477
+ prop: 'floatProp',
478
+ placeholder: '请保留两位小数',
479
+ numberRule: { max: 100, min: 0, precision: 2 },
480
+ class: ['nstc-rate-num'],
481
+ default: 0,
482
+ unit: '%',
483
+ isRequired
484
+ }
485
+ ],
486
+ [
487
+ {
488
+ mold: 'datepicker',
489
+ name: '有效期',
490
+ prop: 'dueDate',
491
+ isRequired,
492
+ link: [
493
+ {
494
+ prop: 'lastShipmentDate',
495
+ handler(val) {
496
+ if (!val) {
497
+ return {}
901
498
  }
902
- ],
903
- [
904
- {
905
- mold: 'input',
906
- name: '开证人-邮编',
907
- prop: 'appPostCode',
908
- renderable: false,
909
- maxlength: 9
910
- },
911
- {
912
- mold: 'input',
913
- name: '受益人-邮编',
914
- prop: 'benePostCode',
915
- renderable: false,
916
- maxlength: 9
499
+ return {
500
+ pickerOptions: {
501
+ disabledDate(time) {
502
+ const min = new Date(temp_date_issueDate).getTime()
503
+ const max = new Date(val).getTime()
504
+ const s = time.getTime()
505
+ return temp_date_issueDate ? s < min || s > max : s > max
506
+ }
507
+ }
917
508
  }
918
- ]
919
- ]
920
- },
921
- {
922
- title: '信用证业务信息',
923
- formConfig: [
924
- [
925
- {
926
- mold: 'input',
927
- name: '合同编号',
928
- prop: 'contractNo'
929
- },
930
- {
931
- mold: 'input',
932
- name: '合同金额',
933
- prop: 'contractAmount',
934
- numberRule: { min: 0, precision: 2, isMoney: true },
935
- isMoney: true
509
+ }
510
+ }
511
+ ]
512
+ },
513
+ {
514
+ mold: 'input',
515
+ name: '通知行',
516
+ prop: 'advisingOpenBankName'
517
+ }
518
+ ],
519
+ [
520
+ {
521
+ mold: 'radio',
522
+ name: '是否有追索权',
523
+ prop: 'recourse',
524
+ options: yesOrNo,
525
+ default: 1,
526
+ isRequired
527
+ },
528
+ {
529
+ mold: 'radio',
530
+ name: '是否可撤销',
531
+ prop: 'creditNature',
532
+ options: [
533
+ { label: '是', value: 'ALLOWUNDO' },
534
+ { label: '否', value: 'NOTUNDO' }
535
+ ],
536
+ default: 'ALLOWUNDO',
537
+ isRequired
538
+ }
539
+ ],
540
+ [
541
+ {
542
+ mold: 'radio',
543
+ name: '是否允许分装',
544
+ prop: 'partialShipments',
545
+ options: yesOrNo,
546
+ default: 1,
547
+ isRequired
548
+ },
549
+ {
550
+ mold: 'radio',
551
+ name: '是否允许转船',
552
+ prop: 'transhipment',
553
+ options: yesOrNo,
554
+ default: 1,
555
+ isRequired
556
+ }
557
+ ],
558
+ [
559
+ {
560
+ mold: 'input',
561
+ name: '目的港',
562
+ prop: 'endPlace'
563
+ },
564
+ {
565
+ mold: 'input',
566
+ name: '起运港',
567
+ prop: 'startPlace'
568
+ }
569
+ ],
570
+ [
571
+ {
572
+ mold: 'datepicker',
573
+ name: '最迟装运期',
574
+ prop: 'lastShipmentDate',
575
+ default: null,
576
+ isRequired
577
+ },
578
+ {
579
+ mold: 'input',
580
+ name: '开证行电话',
581
+ prop: 'appBankTel',
582
+ maxLength: 11
583
+ }
584
+ ],
585
+ [
586
+ {
587
+ mold: 'input',
588
+ name: '开证行地址',
589
+ prop: 'appBankAddr',
590
+ maxLength: 96
591
+ },
592
+ {
593
+ mold: 'input',
594
+ name: '开证行邮编',
595
+ prop: 'appBankPostCode',
596
+ maxlength: 9
597
+ }
598
+ ],
599
+ [
600
+ {
601
+ mold: 'input',
602
+ name: '开证行传真',
603
+ prop: 'appBankFax'
604
+ },
605
+ {
606
+ mold: 'input',
607
+ name: '转开/通知行号',
608
+ prop: 'advisingOpenBankNo',
609
+ maxLength: 7
610
+ }
611
+ ]
612
+ ]
613
+ },
614
+ {
615
+ title: '开证人/受益人信息',
616
+ formConfig: [
617
+ [
618
+ {
619
+ mold: 'selectindialog',
620
+ title: '选择单位',
621
+ name: '开证人-名称',
622
+ prop: 'appNo',
623
+ isRequired,
624
+ remote: true,
625
+ clearable: true,
626
+ showPagination: true,
627
+ placeholder: '请输入/选择',
628
+ url: '/api/nstc-lcms/open/client/query',
629
+ labelKey: 'cltName',
630
+ valueKey: 'cltNo',
631
+ query: 'cltName',
632
+ queryParams: {
633
+ cltNoFull: ''
634
+ },
635
+ formLabelWidth: 96,
636
+ width: '290px',
637
+ formConfig: [
638
+ {
639
+ mold: 'input',
640
+ name: '单位编号',
641
+ prop: 'cltNo',
642
+ width: '180px'
643
+ },
644
+ {
645
+ mold: 'input',
646
+ name: '单位名称',
647
+ prop: 'cltName',
648
+ width: '180px'
649
+ }
650
+ ],
651
+ columns: [
652
+ {
653
+ label: '单位编号',
654
+ prop: 'cltNo'
655
+ },
656
+ {
657
+ label: '单位名称',
658
+ prop: 'cltName'
659
+ }
660
+ ],
661
+ link: [
662
+ {
663
+ prop: 'appAccountNo',
664
+ handler(val) {
665
+ let queryParams = {}
666
+
667
+ if (val) {
668
+ queryParams.cltNo = val.cltNo
669
+ // 通过bus将参数抛出去
936
670
  }
937
- ],
938
- [
939
- {
940
- mold: 'input',
941
- name: '货物描述',
942
- prop: 'description',
943
- width: 836,
944
- isRequired
671
+ Vue.prototype.$bus.$emit('import_lcms_register_search_bene', val ? val.cltNo : '')
672
+
673
+ return {
674
+ queryParams,
675
+ disabled: !val
945
676
  }
946
- ],
947
- [
948
- {
949
- mold: 'input',
950
- name: '其他条款',
951
- prop: 'otherClause',
952
- width: 836
677
+ }
678
+ }
679
+ ]
680
+ },
681
+ {
682
+ mold: 'selectindialog',
683
+ title: '受益人',
684
+ name: '受益人-名称',
685
+ prop: 'beneNo',
686
+ placeholder: '请输入/选择',
687
+ url: '/api/nstc-lcms/open/relCorp/query',
688
+ labelKey: 'relCorpFullName',
689
+ valueKey: 'relCorpNo',
690
+ query: 'relCorpFullName',
691
+ queryParams: {
692
+ cltNoFull: ''
693
+ },
694
+ isRequired,
695
+ remote: true,
696
+ clearable: true,
697
+ showPagination: true,
698
+ formLabelWidth: 96,
699
+ formConfig: [
700
+ {
701
+ mold: 'input',
702
+ name: '单位中文名称',
703
+ prop: 'relCorpFullName',
704
+ width: '180px'
705
+ },
706
+ {
707
+ mold: 'input',
708
+ name: '组织编号',
709
+ prop: 'relCorpNo',
710
+ width: '180px'
711
+ }
712
+ ],
713
+ columns: [
714
+ {
715
+ label: '组织编号',
716
+ prop: 'relCorpNo'
717
+ },
718
+ {
719
+ label: '单位中文名称',
720
+ prop: 'relCorpFullName'
721
+ },
722
+ {
723
+ label: '单位简称',
724
+ prop: 'relCorpName'
725
+ },
726
+ {
727
+ label: '单位类型',
728
+ prop: 'relCorpTypeName'
729
+ }
730
+ ],
731
+ link: [
732
+ {
733
+ prop: 'beneAccountNo',
734
+ handler(val) {
735
+ let queryParams = {}
736
+
737
+ if (val) {
738
+ queryParams.relCorpId = val.relCorpId
739
+ // 通过bus将参数抛出去
953
740
  }
954
- ]
955
- ]
956
- },
957
- {
958
- title: '开证成本',
959
- formConfig: [
960
- [
961
- {
962
- mold: 'input',
963
- name: '开证费率',
964
- prop: 'openRate',
965
- class: ['nstc-rate-num'],
966
- unit: '%',
967
- numberRule: { max: 100, min: 0, precision: 6 },
968
- link: [
969
- {
970
- prop: 'issueFee',
971
- handler(val) {
972
- return {
973
- default: temp_blAmount ? Number(temp_blAmount * val / 100).toFixed(2) : ''
974
- }
975
- }
976
- }
977
- ]
978
- },
979
- {
980
- mold: 'input',
981
- name: '开证手续费',
982
- prop: 'issueFee',
983
- numberRule: { min: 0, precision: 2, isMoney: true }
741
+ Vue.prototype.$bus.$emit('import_lcms_register_search_app', val ? val.cltNo : '')
742
+
743
+ return {
744
+ queryParams,
745
+ disabled: !val
984
746
  }
985
- ],
986
- [
987
- {
988
- mold: 'input',
989
- name: '综合成本',
990
- prop: 'synCost',
991
- numberRule: { min: 0, precision: 2, isMoney: true },
992
- isRequired
993
- },
994
- {
995
- mold: 'input',
996
- name: '其他费用',
997
- numberRule: { min: 0, precision: 2, isMoney: true },
998
- prop: 'otherAmount'
747
+ }
748
+ }
749
+ ],
750
+ // 当开证模式前对背 且为母证, 表格里面只能选成员单位
751
+ async queryDataFormatter(data) {
752
+ if (+current_open_model === 1 && current_open_type === 1) {
753
+ data = data.filter((i) => {
754
+ return +i[`relCorpType`] === 1
755
+ })
756
+ }
757
+ return data
758
+ }
759
+ }
760
+ ],
761
+ [
762
+ {
763
+ mold: 'selectindialog',
764
+ title: '账号选择',
765
+ name: '开证人-账号',
766
+ remote: true,
767
+ clearable: true,
768
+ prop: 'appAccountNo',
769
+ placeholder: '请输入/选择',
770
+ url: '/api/nstc-lcms/open/account/query',
771
+ labelKey: 'accountNo',
772
+ valueKey: 'accountId',
773
+ query: 'accountNo',
774
+ formLabelWidth: 96,
775
+ showPagination: true,
776
+ disabled: true,
777
+ formConfig: [
778
+ {
779
+ mold: 'input',
780
+ name: '账号',
781
+ prop: 'accountNo',
782
+ width: '180px'
783
+ },
784
+ {
785
+ mold: 'select',
786
+ name: '金融机构',
787
+ prop: 'bankNo',
788
+ options: [],
789
+ width: '180px'
790
+ }
791
+ ],
792
+ columns: [
793
+ {
794
+ label: '账号',
795
+ prop: 'accountNo'
796
+ },
797
+ {
798
+ label: '户名',
799
+ prop: 'accountName'
800
+ },
801
+ {
802
+ label: '助记名',
803
+ prop: 'memoryName'
804
+ },
805
+ {
806
+ label: '币种',
807
+ prop: 'currencyName'
808
+ },
809
+ {
810
+ label: '金融机构',
811
+ prop: 'bankName'
812
+ }
813
+ ],
814
+ link: [
815
+ {
816
+ prop: 'appBankNo',
817
+ handler(val) {
818
+ if (val) {
819
+ const def = val ? val.bankNo : null
820
+ return {
821
+ default: def
822
+ }
999
823
  }
1000
- ]
1001
- ]
1002
- },
1003
- {
1004
- title: '预算现金流',
1005
- formConfig: [
1006
- [
1007
- {
1008
- mold: 'selectindialog',
1009
- name: '预算科目',
1010
- prop: 'budgetKmcode',
1011
- unit: '',
1012
- formConfig: [
1013
- {
1014
- mold: 'input',
1015
- name: '单位编号',
1016
- prop: 'cltNo'
1017
- },
1018
- {
1019
- mold: 'intervalinput',
1020
- name: '单位名称',
1021
- prop: 'cltName'
1022
- }
1023
- ],
1024
- columns: [
1025
- {
1026
- label: '单位编号',
1027
- prop: 'cltNo'
1028
- },
1029
- {
1030
- label: '单位名称',
1031
- prop: 'cltName'
1032
- }
1033
- ]
1034
- },
1035
- {
1036
- mold: 'input',
1037
- name: '现金流',
1038
- prop: 'flowno'
824
+ }
825
+ }
826
+ ]
827
+ },
828
+ {
829
+ mold: 'selectindialog',
830
+ title: '账号选择',
831
+ name: '受益人-账号',
832
+ remote: true,
833
+ clearable: true,
834
+ prop: 'beneAccountNo',
835
+ placeholder: '请输入/选择',
836
+ url: '/api/nstc-lcms/open/relAccount/query',
837
+ labelKey: 'accountNo',
838
+ valueKey: 'relAccId',
839
+ query: 'accountNo',
840
+ formLabelWidth: 96,
841
+ showPagination: true,
842
+ disabled: true,
843
+ formConfig: [
844
+ {
845
+ mold: 'input',
846
+ name: '账号',
847
+ prop: 'accountNo',
848
+ width: '180px'
849
+ },
850
+ {
851
+ mold: 'select',
852
+ name: '金融机构',
853
+ prop: 'bankNo',
854
+ options: [],
855
+ width: '180px'
856
+ }
857
+ ],
858
+ columns: [
859
+ {
860
+ label: '账号',
861
+ prop: 'accountNo'
862
+ },
863
+ {
864
+ label: '户名',
865
+ prop: 'accountName'
866
+ },
867
+ {
868
+ label: '助记名',
869
+ prop: 'memoryName'
870
+ },
871
+ {
872
+ label: '币种',
873
+ prop: 'currencyName'
874
+ },
875
+ {
876
+ label: '金融机构',
877
+ prop: 'bankName'
878
+ }
879
+ ],
880
+ link: [
881
+ {
882
+ prop: 'beneOpenBankNo',
883
+ handler(val) {
884
+ const def = val ? val.bankNo : null
885
+
886
+ return {
887
+ default: def
1039
888
  }
1040
- ]
1041
- ]
1042
- }
889
+ }
890
+ }
891
+ ]
892
+ }
893
+ ],
894
+ [
895
+ {
896
+ mold: 'select',
897
+ name: '开证人-开户行',
898
+ prop: 'appBankNo',
899
+ width: 294,
900
+ filterable: true,
901
+ disabled: true
902
+ },
903
+ {
904
+ mold: 'select',
905
+ name: '受益人-开户行',
906
+ width: 294,
907
+ filterable: true,
908
+ prop: 'beneOpenBankNo',
909
+ disabled: true
910
+ }
911
+ ],
912
+ [
913
+ {
914
+ mold: 'input',
915
+ name: '开证人-地址',
916
+ prop: 'appAddr',
917
+ renderable: false
918
+ },
919
+ {
920
+ mold: 'input',
921
+ name: '受益人-地址',
922
+ prop: 'beneAddr',
923
+ renderable: false
924
+ }
925
+ ],
926
+ [
927
+ {
928
+ mold: 'input',
929
+ name: '开证人-邮编',
930
+ prop: 'appPostCode',
931
+ renderable: false,
932
+ maxlength: 9
933
+ },
934
+ {
935
+ mold: 'input',
936
+ name: '受益人-邮编',
937
+ prop: 'benePostCode',
938
+ renderable: false,
939
+ maxlength: 9
940
+ }
941
+ ]
942
+ ]
943
+ },
944
+ {
945
+ title: '信用证业务信息',
946
+ formConfig: [
947
+ [
948
+ {
949
+ mold: 'input',
950
+ name: '合同编号',
951
+ prop: 'contractNo'
952
+ },
953
+ {
954
+ mold: 'input',
955
+ name: '合同金额',
956
+ prop: 'contractAmount',
957
+ numberRule: { min: 0, precision: 2, isMoney: true },
958
+ isMoney: true
959
+ }
960
+ ],
961
+ [
962
+ {
963
+ mold: 'input',
964
+ name: '货物描述',
965
+ prop: 'description',
966
+ width: 836,
967
+ isRequired
968
+ }
969
+ ],
970
+ [
971
+ {
972
+ mold: 'input',
973
+ name: '其他条款',
974
+ prop: 'otherClause',
975
+ width: 836
976
+ }
977
+ ]
978
+ ]
979
+ },
980
+ {
981
+ title: '开证成本',
982
+ formConfig: [
983
+ [
984
+ {
985
+ mold: 'input',
986
+ name: '开证费率',
987
+ prop: 'openRate',
988
+ class: ['nstc-rate-num'],
989
+ unit: '%',
990
+ numberRule: { max: 100, min: 0, precision: 6 },
991
+ link: [
992
+ {
993
+ prop: 'issueFee',
994
+ handler(val) {
995
+ return {
996
+ default: temp_blAmount ? Number((temp_blAmount * val) / 100).toFixed(2) : ''
997
+ }
998
+ }
999
+ }
1000
+ ]
1001
+ },
1002
+ {
1003
+ mold: 'input',
1004
+ name: '开证手续费',
1005
+ prop: 'issueFee',
1006
+ numberRule: { min: 0, precision: 2, isMoney: true }
1007
+ }
1008
+ ],
1009
+ [
1010
+ {
1011
+ mold: 'input',
1012
+ name: '综合成本',
1013
+ prop: 'synCost',
1014
+ numberRule: { min: 0, precision: 2, isMoney: true },
1015
+ isRequired
1016
+ },
1017
+ {
1018
+ mold: 'input',
1019
+ name: '其他费用',
1020
+ numberRule: { min: 0, precision: 2, isMoney: true },
1021
+ prop: 'otherAmount'
1022
+ }
1023
+ ]
1024
+ ]
1025
+ },
1026
+ {
1027
+ title: '预算现金流',
1028
+ formConfig: [
1029
+ [
1030
+ {
1031
+ mold: 'selectindialog',
1032
+ name: '预算科目',
1033
+ prop: 'budgetKmcode',
1034
+ unit: '元',
1035
+ formConfig: [
1036
+ {
1037
+ mold: 'input',
1038
+ name: '单位编号',
1039
+ prop: 'cltNo'
1040
+ },
1041
+ {
1042
+ mold: 'intervalinput',
1043
+ name: '单位名称',
1044
+ prop: 'cltName'
1045
+ }
1046
+ ],
1047
+ columns: [
1048
+ {
1049
+ label: '单位编号',
1050
+ prop: 'cltNo'
1051
+ },
1052
+ {
1053
+ label: '单位名称',
1054
+ prop: 'cltName'
1055
+ }
1056
+ ]
1057
+ },
1058
+ {
1059
+ mold: 'input',
1060
+ name: '现金流',
1061
+ prop: 'flowno'
1062
+ }
1063
+ ]
1064
+ ]
1065
+ }
1043
1066
  ]
1044
1067
 
1045
1068
  const rules = config
1046
- .reduce((prev, next) => ([
1047
- ...prev,
1048
- ...next.formConfig
1049
- ]), [])
1050
- .reduce((prev, next) => ([
1051
- ...prev,
1052
- ...Array.isArray(next) ? next : [next]
1053
- ]), [])
1054
- .reduce((prev, next) => {
1055
- if (next.link) {
1056
- const links = next.link.filter(item => !!item.mold)
1069
+ .reduce((prev, next) => [...prev, ...next.formConfig], [])
1070
+ .reduce((prev, next) => [...prev, ...(Array.isArray(next) ? next : [next])], [])
1071
+ .reduce((prev, next) => {
1072
+ if (next.link) {
1073
+ const links = next.link.filter((item) => !!item.mold)
1057
1074
 
1058
- return [
1059
- ...prev,
1060
- next,
1061
- ...links
1062
- ]
1063
- }
1075
+ return [...prev, next, ...links]
1076
+ }
1064
1077
 
1065
- return [
1066
- ...prev,
1067
- next
1068
- ]
1069
- }, [])
1070
- .filter(item => item.isRequired)
1071
- .reduce((res, curr) => {
1072
- const isInput = curr.mold === 'input' || (curr.prop === 'dueDate' || 'lastShipmentDate')
1078
+ return [...prev, next]
1079
+ }, [])
1080
+ .filter((item) => item.isRequired)
1081
+ .reduce((res, curr) => {
1082
+ const isInput = curr.mold === 'input' || curr.prop === 'dueDate' || 'lastShipmentDate'
1073
1083
 
1074
- return {
1075
- ...res,
1076
- [curr.prop]: {
1077
- required: true,
1078
- message: `请${isInput ? '输入' : '选择'}${curr.name}`,
1079
- trigger: isInput ? 'blur' : 'change'
1080
- // whitespace: isInput || undefined,
1081
- // ...isInput
1082
- // ? {
1083
- // transform(val) {
1084
- // return typeof val === 'string' ? val.trim() : val
1085
- // }
1086
- // }
1087
- // : {}
1088
- }
1089
- }
1090
- }, {})
1084
+ return {
1085
+ ...res,
1086
+ [curr.prop]: {
1087
+ required: true,
1088
+ message: `请${isInput ? '输入' : '选择'}${curr.name}`,
1089
+ trigger: isInput ? 'blur' : 'change'
1090
+ // whitespace: isInput || undefined,
1091
+ // ...isInput
1092
+ // ? {
1093
+ // transform(val) {
1094
+ // return typeof val === 'string' ? val.trim() : val
1095
+ // }
1096
+ // }
1097
+ // : {}
1098
+ }
1099
+ }
1100
+ }, {})
1091
1101
 
1092
1102
  const paymentPlanColumns = [
1093
- {
1094
- width: 80,
1095
- label: '操作',
1096
- component: {
1097
- template: `<div>
1103
+ {
1104
+ width: 80,
1105
+ label: '操作',
1106
+ component: {
1107
+ template: `<div>
1098
1108
  <i
1099
1109
  v-if="scope.row.addFlag"
1100
1110
  class="el-icon-circle-plus-outline guarantee-icon"
@@ -1103,42 +1113,42 @@ const paymentPlanColumns = [
1103
1113
  />
1104
1114
  <i class="el-icon-delete guarantee-icon" @click="deleteRepaymentPlan(scope.$index)" />
1105
1115
  </div>`, // <!-- v-if="scope.addFlag"-->
1106
- methods: {
1107
- addRepaymentPlan() {
1108
- this.$bus.$emit('addRepaymentPlan', {})
1109
- },
1110
- deleteRepaymentPlan(index) {
1111
- this.$bus.$emit('deleteRepaymentPlan', { index })
1112
- }
1113
- }
1114
- }
1115
- },
1116
- {
1117
- label: '付款计划编号',
1118
- minWidth: 100,
1119
- prop: 'creditPayNo'
1120
- },
1121
- {
1122
- label: '计划状态',
1123
- prop: 'planState',
1124
- formatter(row, column, val) {
1125
- return val ? '已执行' : '未执行'
1116
+ methods: {
1117
+ addRepaymentPlan() {
1118
+ this.$bus.$emit('addRepaymentPlan', {})
1119
+ },
1120
+ deleteRepaymentPlan(index) {
1121
+ this.$bus.$emit('deleteRepaymentPlan', { index })
1126
1122
  }
1127
- },
1128
- {
1129
- label: '是否已关联到单',
1130
- minWidth: 110,
1131
- prop: 'isRelation',
1132
- formatter(row, column, val) {
1133
- return val === 1 ? '是' : ''
1134
- }
1135
- },
1136
- {
1137
- label: '最迟装运日',
1138
- width: 150,
1139
- prop: 'latestShipmentDate',
1140
- component: {
1141
- template: `<el-date-picker
1123
+ }
1124
+ }
1125
+ },
1126
+ {
1127
+ label: '付款计划编号',
1128
+ minWidth: 100,
1129
+ prop: 'creditPayNo'
1130
+ },
1131
+ {
1132
+ label: '计划状态',
1133
+ prop: 'planState',
1134
+ formatter(row, column, val) {
1135
+ return val ? '已执行' : '未执行'
1136
+ }
1137
+ },
1138
+ {
1139
+ label: '是否已关联到单',
1140
+ minWidth: 110,
1141
+ prop: 'isRelation',
1142
+ formatter(row, column, val) {
1143
+ return val === 1 ? '是' : '否'
1144
+ }
1145
+ },
1146
+ {
1147
+ label: '最迟装运日',
1148
+ width: 150,
1149
+ prop: 'latestShipmentDate',
1150
+ component: {
1151
+ template: `<el-date-picker
1142
1152
  v-model='scope.row.latestShipmentDate'
1143
1153
  :disabled="scope.row.disableFlag || scope.row.isEdit"
1144
1154
  :pickerOptions="scope.row.pickerOptions"
@@ -1146,14 +1156,14 @@ const paymentPlanColumns = [
1146
1156
  style='width: 100%'
1147
1157
  placeholder="请选择"
1148
1158
  />`
1149
- }
1150
- },
1151
- {
1152
- label: '预计装运日',
1153
- width: 150,
1154
- prop: 'expectShipmentDate',
1155
- component: {
1156
- template: `<el-date-picker
1159
+ }
1160
+ },
1161
+ {
1162
+ label: '预计装运日',
1163
+ width: 150,
1164
+ prop: 'expectShipmentDate',
1165
+ component: {
1166
+ template: `<el-date-picker
1157
1167
  v-model='scope.row.expectShipmentDate'
1158
1168
  :disabled="!scope.row.latestShipmentDate || scope.row.isEdit"
1159
1169
  :pickerOptions="pickerOptions(scope.row.issueDateTemp, scope.row.latestShipmentDate)"
@@ -1161,48 +1171,48 @@ const paymentPlanColumns = [
1161
1171
  style='width: 100%'
1162
1172
  placeholder="请选择"
1163
1173
  />`,
1164
- methods: {
1165
- pickerOptions(start, end) {
1166
- return {
1167
- disabledDate(time) {
1168
- const f = start ? time.getTime() < getTime(start) : false
1169
- const s = end ? time.getTime() > getTime(end) : false
1170
- return (f || s)
1171
- }
1172
- }
1173
- }
1174
+ methods: {
1175
+ pickerOptions(start, end) {
1176
+ return {
1177
+ disabledDate(time) {
1178
+ const f = start ? time.getTime() < getTime(start) : false
1179
+ const s = end ? time.getTime() > getTime(end) : false
1180
+ return f || s
1174
1181
  }
1182
+ }
1175
1183
  }
1176
- },
1177
- {
1178
- label: '预计付款日',
1179
- width: 150,
1180
- prop: 'expectPayDate',
1181
- component: {
1182
- template: `<el-date-picker
1184
+ }
1185
+ }
1186
+ },
1187
+ {
1188
+ label: '预计付款日',
1189
+ width: 150,
1190
+ prop: 'expectPayDate',
1191
+ component: {
1192
+ template: `<el-date-picker
1183
1193
  v-model='scope.row.expectPayDate'
1184
1194
  :disabled="!scope.row.expectShipmentDate || scope.row.isEdit"
1185
1195
  :pickerOptions="pickerOptions(scope.row.expectShipmentDate)"
1186
1196
  value-format="yyyy-MM-dd"
1187
1197
  style='width: 100%'
1188
1198
  placeholder="请选择" />`,
1189
- methods: {
1190
- pickerOptions(val) {
1191
- return {
1192
- disabledDate(time) {
1193
- return time.getTime() < new Date(val).getTime()
1194
- }
1195
- }
1196
- }
1199
+ methods: {
1200
+ pickerOptions(val) {
1201
+ return {
1202
+ disabledDate(time) {
1203
+ return time.getTime() < new Date(val).getTime()
1197
1204
  }
1205
+ }
1198
1206
  }
1199
- },
1200
- {
1201
- label: '预计付款金额',
1202
- minWidth: 100,
1203
- prop: 'expectPayAmount',
1204
- component: {
1205
- template: `<el-input
1207
+ }
1208
+ }
1209
+ },
1210
+ {
1211
+ label: '预计付款金额',
1212
+ minWidth: 100,
1213
+ prop: 'expectPayAmount',
1214
+ component: {
1215
+ template: `<el-input
1206
1216
  v-model='scope.row.expectPayAmount'
1207
1217
  v-nstc-number="{min:0,precision:2,isMoney:true}"
1208
1218
  :disabled='scope.row.isEdit'
@@ -1210,13 +1220,8 @@ const paymentPlanColumns = [
1210
1220
  class="nstc-amount-num"
1211
1221
  placeholder="请输入"
1212
1222
  />`
1213
- }
1214
1223
  }
1224
+ }
1215
1225
  ]
1216
1226
 
1217
- export {
1218
- domestic,
1219
- config,
1220
- rules,
1221
- paymentPlanColumns
1222
- }
1227
+ export { domestic, config, rules, paymentPlanColumns }