kts-component-invoice-operate 3.2.235-fuling → 3.2.236
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.
- package/README.md +4 -0
- package/dist/Invoice/InvoiceController/InvoiceControllerState/GoodsListState/IGood/index.d.ts +1 -0
- package/dist/Invoice/InvoiceController/InvoiceControllerState/GoodsListState/ImportGoods/index.d.ts +2 -0
- package/dist/Invoice/InvoiceController/InvoiceControllerState/GoodsListState/index.d.ts +2 -0
- package/dist/Invoice/ui/default/GoodsList/index.d.ts +1 -0
- package/dist/Invoice/ui/default/GoodsList/ui/AddRowButton/index.d.ts +1 -1
- package/dist/Invoice/ui/digtal/GoodsList/index.d.ts +1 -0
- package/dist/Invoice/ui/digtal/GoodsList/ui/TaxIncludedSwitch/index.d.ts +4 -1
- package/dist/index.esm.js +970 -330
- package/dist/index.js +968 -328
- package/package.json +1 -1
- package/src/Invoice/Invoice-digtal/_test/easiest/index.tsx +1 -1
- package/src/Invoice/Invoice-digtal/_test/realEstateInfo/index.tsx +69 -7
- package/src/Invoice/Invoice-digtal/index.md +2 -9
- package/src/Invoice/InvoiceController/InvoiceControllerState/GoodsListState/IGood/index.ts +2 -0
- package/src/Invoice/InvoiceController/InvoiceControllerState/GoodsListState/ImportGoods/index.ts +3 -0
- package/src/Invoice/InvoiceController/InvoiceControllerState/GoodsListState/index.ts +3 -0
- package/src/Invoice/InvoiceController/fns/saveEditGood.ts +2 -2
- package/src/Invoice/_test/deduction/index.tsx +28 -6
- package/src/Invoice/index.md +4 -4
- package/src/Invoice/ui/default/GoodsList/index.tsx +3 -1
- package/src/Invoice/ui/default/GoodsList/ui/AddRowButton/index.tsx +8 -1
- package/src/Invoice/ui/default/ImportGoodsDrawer/index.tsx +4 -1
- package/src/Invoice/ui/digtal/Architecture/index.tsx +1 -1
- package/src/Invoice/ui/digtal/FreightList/index.tsx +1 -1
- package/src/Invoice/ui/digtal/GoodsList/hook/useColumns/index.tsx +37 -23
- package/src/Invoice/ui/digtal/GoodsList/index.tsx +3 -1
- package/src/Invoice/ui/digtal/GoodsList/ui/AddRowButton/index.tsx +20 -10
- package/src/Invoice/ui/digtal/GoodsList/ui/TableVirtual/index.tsx +11 -6
- package/src/Invoice/ui/digtal/GoodsList/ui/TaxIncludedSwitch/index.tsx +5 -2
- package/src/Invoice/ui/digtal/PayList/hook/useColumns/index.tsx +1 -1
- package/src/Invoice/ui/digtal/RealEstateInfo/index.less +7 -0
- package/src/Invoice/ui/digtal/RealEstateInfo/index.tsx +363 -104
- package/src/Invoice/ui/digtal/StakeFarmerholder/index.tsx +231 -72
- package/src/Invoice/ui/digtal/Stakeholder/index.tsx +22 -4
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
|
|
2
|
-
import React from 'react';
|
|
2
|
+
import React, { useCallback } from 'react';
|
|
3
3
|
import Icon from '@ant-design/icons';
|
|
4
4
|
import { decorator } from "grey-react-box";
|
|
5
5
|
import { Form } from "kts-components-antd-x3";
|
|
@@ -30,7 +30,7 @@ const RULES = {
|
|
|
30
30
|
{ pattern: /^[0-9\s\-\+]+$/g, message: `${label}仅能数字、空格、-、+` }
|
|
31
31
|
],
|
|
32
32
|
sellerTelPhone: (label: string) => [
|
|
33
|
-
|
|
33
|
+
|
|
34
34
|
{ max: 100, message: `${label}内容超长` },
|
|
35
35
|
{ pattern: /^[0-9\s\-\+]+$/g, message: `${label}仅能数字、空格、-、+` }
|
|
36
36
|
],
|
|
@@ -98,7 +98,10 @@ export default decorator<IStakeholder, IStakeholder & FormComponentProps>(Form.c
|
|
|
98
98
|
const disableds = controller.useMemo(s => s.stakeholder.disableds || [], []);
|
|
99
99
|
|
|
100
100
|
const rulesMap = controller.useMemo(s => s.stakeholder.rulesMap || {}, []);
|
|
101
|
-
|
|
101
|
+
const [validateStatus, setStatus] = React.useState<any>('');
|
|
102
|
+
const [errorInfo, setInfo] = React.useState('');
|
|
103
|
+
const [nation, setNationStatue] = React.useState<any>('');
|
|
104
|
+
const [nationInfo, setNation] = React.useState('');
|
|
102
105
|
/** 乐企 */
|
|
103
106
|
const leqispanW = React.useMemo(() => {
|
|
104
107
|
if (props.leqi) {
|
|
@@ -137,7 +140,202 @@ export default decorator<IStakeholder, IStakeholder & FormComponentProps>(Form.c
|
|
|
137
140
|
React.useEffect(() => {
|
|
138
141
|
setExpand(typeof props.isExpand === 'boolean' ? props.isExpand : true);
|
|
139
142
|
}, [props.isExpand])
|
|
143
|
+
const onChangeType = useCallback(
|
|
144
|
+
(value: string) => {
|
|
145
|
+
console.log(value);
|
|
146
|
+
if (value === "201") {
|
|
147
|
+
// 当“自然人证件类型”选择“201:居民身份证”时,校验是否为“156:中国’
|
|
148
|
+
form?.setFieldsValue({ nationality: "156" });
|
|
149
|
+
const supplierTaxId = form?.getFieldValue("supplierTaxId");
|
|
150
|
+
const certificateNumber = form?.getFieldValue("certificateNumber");
|
|
151
|
+
if (supplierTaxId !== certificateNumber) {
|
|
152
|
+
setStatus('error');
|
|
153
|
+
setInfo('证件号码应与销方税号保持一致')
|
|
154
|
+
}
|
|
155
|
+
} else if (value === "227") {
|
|
156
|
+
|
|
157
|
+
// 当“自然人证件类型”选择“227:中华人民共和国护照”时,校验是否为“156:中国
|
|
158
|
+
form?.setFieldsValue({ nationality: "156" });
|
|
159
|
+
|
|
160
|
+
} else if (value === "213" || value === "238") {
|
|
161
|
+
// 当“自然人证件类型”选择“213:台湾居民来往大陆通行证”时,校验是否为”158:中国台湾”
|
|
162
|
+
// 当“自然人证件类型”选择“238:中华人民共和国台湾居民居住证”时,校验是否为“ 158:中国台湾”
|
|
163
|
+
form?.setFieldsValue({ nationality: "158" });
|
|
164
|
+
}
|
|
165
|
+
},
|
|
166
|
+
[form]
|
|
167
|
+
);
|
|
168
|
+
/** 校验证件号码*/
|
|
169
|
+
const validateIDCode = useCallback(
|
|
170
|
+
(_: any, value: string) => {
|
|
171
|
+
if (!value) {
|
|
172
|
+
return Promise.resolve();
|
|
173
|
+
}
|
|
174
|
+
|
|
175
|
+
const idtype = form?.getFieldValue("certificateType");
|
|
176
|
+
const nationality = form?.getFieldValue("nationality");
|
|
177
|
+
if (idtype === "210") {
|
|
178
|
+
// 当“自然人证件类型”选择“210:港澳居民来往内地通行证”时,
|
|
179
|
+
|
|
180
|
+
|
|
181
|
+
if (value.startsWith("M")) {
|
|
182
|
+
//如果“证件号码”以M开头,"国籍(或地区头,)”必须为“446:中国澳门”;校验证件号码必须以H或M开头
|
|
183
|
+
if (nationality !== '446') {
|
|
184
|
+
setNationStatue('error');
|
|
185
|
+
setNation('请选择正确的国籍');
|
|
186
|
+
} else {
|
|
187
|
+
setNationStatue('');
|
|
188
|
+
setNation('');
|
|
189
|
+
}
|
|
190
|
+
|
|
191
|
+
} else if (value.startsWith("H")) {
|
|
192
|
+
//如果“证件号码”以H开国籍(或地区)”必须为“344:中国香港”;
|
|
193
|
+
if (nationality !== '344') {
|
|
194
|
+
setNationStatue('error');
|
|
195
|
+
setNation('请选择正确的国籍');
|
|
196
|
+
} else {
|
|
197
|
+
setNationStatue('');
|
|
198
|
+
setNation('');
|
|
199
|
+
}
|
|
140
200
|
|
|
201
|
+
} else {
|
|
202
|
+
return Promise.reject("请输入正确的证件号码");
|
|
203
|
+
}
|
|
204
|
+
} else if (idtype === "237") {
|
|
205
|
+
//当“自然人证件类型”选择“237:中华人民共和国港澳居民居住证”时,校验证件号码必须以810000或820000开头,如果“证件号码”以810000开头,必须为“344:中国香国籍(或地区))港”;如果“证件号码”以820000开头,国籍(或地区)必须为“446:中国澳门”
|
|
206
|
+
if (value.startsWith("810000")) {
|
|
207
|
+
if (nationality !== '344') {
|
|
208
|
+
setNationStatue('error');
|
|
209
|
+
setNation('请选择正确的国籍');
|
|
210
|
+
} else {
|
|
211
|
+
setNationStatue('');
|
|
212
|
+
setNation('');
|
|
213
|
+
}
|
|
214
|
+
|
|
215
|
+
} else if (value.startsWith("820000")) {
|
|
216
|
+
if (nationality !== '446') {
|
|
217
|
+
setNationStatue('error');
|
|
218
|
+
setNation('请选择正确的国籍');
|
|
219
|
+
} else {
|
|
220
|
+
setNationStatue('');
|
|
221
|
+
setNation('');
|
|
222
|
+
}
|
|
223
|
+
|
|
224
|
+
|
|
225
|
+
} else {
|
|
226
|
+
setStatus('error');
|
|
227
|
+
setInfo('请输入正确的证件号码')
|
|
228
|
+
return Promise.reject("请输入正确的证件号码");
|
|
229
|
+
}
|
|
230
|
+
}
|
|
231
|
+
// 当“销售方自然人证件类型”填写“201:居民身份证”,“销售方纳税人识别号”必须与“销售方自然人证件号码”完全一致
|
|
232
|
+
if (idtype === "201") {
|
|
233
|
+
const supplierTaxId = form?.getFieldValue("supplierTaxId");
|
|
234
|
+
if (value !== supplierTaxId) {
|
|
235
|
+
setStatus('error');
|
|
236
|
+
setInfo('证件号码应与销方税号保持一致')
|
|
237
|
+
return Promise.reject("证件号码应与销方税号保持一致");
|
|
238
|
+
} else if (value === supplierTaxId) {
|
|
239
|
+
setStatus('');
|
|
240
|
+
setInfo('')
|
|
241
|
+
}
|
|
242
|
+
}
|
|
243
|
+
setStatus('');
|
|
244
|
+
setInfo('')
|
|
245
|
+
return Promise.resolve();
|
|
246
|
+
},
|
|
247
|
+
[form]
|
|
248
|
+
);
|
|
249
|
+
const validateIDCode2 = useCallback(
|
|
250
|
+
(e: any) => {
|
|
251
|
+
const value = e.target.value;
|
|
252
|
+
// if (!value) {
|
|
253
|
+
// setStatus('');
|
|
254
|
+
// setInfo('')
|
|
255
|
+
// }
|
|
256
|
+
|
|
257
|
+
const idtype = form?.getFieldValue("certificateType");
|
|
258
|
+
|
|
259
|
+
// // 当“销售方自然人证件类型”填写“201:居民身份证”,“销售方纳税人识别号”必须与“销售方自然人证件号码”完全一致
|
|
260
|
+
if (idtype === "201") {
|
|
261
|
+
const certificateNumber = form?.getFieldValue("certificateNumber");
|
|
262
|
+
console.log(value, certificateNumber)
|
|
263
|
+
if (value !== certificateNumber) {
|
|
264
|
+
setStatus('error');
|
|
265
|
+
setInfo('证件号码应与销方税号保持一致')
|
|
266
|
+
} else {
|
|
267
|
+
setStatus('');
|
|
268
|
+
setInfo('')
|
|
269
|
+
}
|
|
270
|
+
}
|
|
271
|
+
},
|
|
272
|
+
[form]
|
|
273
|
+
);
|
|
274
|
+
const validateNationality = useCallback(
|
|
275
|
+
(_: any, value: string) => {
|
|
276
|
+
if (!value) {
|
|
277
|
+
return Promise.resolve();
|
|
278
|
+
}
|
|
279
|
+
const idtype = form?.getFieldValue("certificateType");
|
|
280
|
+
const idcode = form?.getFieldValue("certificateNumber");
|
|
281
|
+
console.log(value, idtype, idcode)
|
|
282
|
+
if (idtype === "201" || idtype === "227") {
|
|
283
|
+
// 当“自然人证件类型”选择“201:居民身份证”时,校验是否为“156:中国’
|
|
284
|
+
// 当“自然人证件类型”选择“227:中华人民共和国护照”时,校验是否为“156:中国
|
|
285
|
+
if (value !== "156") {
|
|
286
|
+
setNationStatue('error');
|
|
287
|
+
setNation('请选择正确的国籍');
|
|
288
|
+
return Promise.reject("请选择正确的国籍");
|
|
289
|
+
}
|
|
290
|
+
} else if (idtype === "213" || idtype === "238") {
|
|
291
|
+
// 当“自然人证件类型”选择“213:台湾居民来往大陆通行证”时,校验是否为”158:中国台湾”
|
|
292
|
+
// 当“自然人证件类型”选择“238:中华人民共和国台湾居民居住证”时,校验是否为“ 158:中国台湾”
|
|
293
|
+
if (value !== "158") {
|
|
294
|
+
setNationStatue('error');
|
|
295
|
+
setNation('请选择正确的国籍');
|
|
296
|
+
return Promise.reject("请选择正确的国籍");
|
|
297
|
+
}
|
|
298
|
+
} else if (idtype === "210") {
|
|
299
|
+
//当“自然人证件类型”选择“210:港澳居民来往内地通行证”时,如果“证件号码”以H开国籍(或地区)”必须为“344:中国香港”;如果“证件号码”以M开头,"国籍(或地区头,)”必须为“446:中国澳门”;
|
|
300
|
+
let r = false;
|
|
301
|
+
if (idcode) {
|
|
302
|
+
if (idcode.startsWith("M") && value === "446") {
|
|
303
|
+
r = true;
|
|
304
|
+
} else if (idcode.startsWith("H") && value === "344") {
|
|
305
|
+
r = true;
|
|
306
|
+
}
|
|
307
|
+
} else if (value === "344" || value === "446") {
|
|
308
|
+
r = true;
|
|
309
|
+
}
|
|
310
|
+
if (!r) {
|
|
311
|
+
setNationStatue('error');
|
|
312
|
+
setNation('请选择正确的国籍');
|
|
313
|
+
return Promise.reject("请选择正确的国籍");
|
|
314
|
+
}
|
|
315
|
+
} else if (idtype === "237") {
|
|
316
|
+
//当“自然人证件类型”选择“237:中华人民共和国港澳居民居住证”时,校验证件号码必须以810000或820000开头,如果“证件号码”以810000开头,必须为“344:中国香国籍(或地区))港”;如果“证件号码”以820000开头,国籍(或地区)必须为“446:中国澳门”
|
|
317
|
+
let r = false;
|
|
318
|
+
if (idcode) {
|
|
319
|
+
if (idcode.startsWith("820000") && value === "446") {
|
|
320
|
+
r = true;
|
|
321
|
+
} else if (idcode.startsWith("810000") && value === "344") {
|
|
322
|
+
r = true;
|
|
323
|
+
}
|
|
324
|
+
} else if (value === "344" || value === "446") {
|
|
325
|
+
r = true;
|
|
326
|
+
}
|
|
327
|
+
if (!r) {
|
|
328
|
+
setNationStatue('error');
|
|
329
|
+
setNation('请选择正确的国籍');
|
|
330
|
+
return Promise.reject("请选择正确的国籍");
|
|
331
|
+
}
|
|
332
|
+
}
|
|
333
|
+
setNationStatue('');
|
|
334
|
+
setNation('');
|
|
335
|
+
return Promise.resolve();
|
|
336
|
+
},
|
|
337
|
+
[form]
|
|
338
|
+
);
|
|
141
339
|
return (
|
|
142
340
|
<>
|
|
143
341
|
<div className={classNames("kts-invoice-operate-invoice-digtal-stakeholder", { readOnly: readOnly })} >
|
|
@@ -202,6 +400,7 @@ export default decorator<IStakeholder, IStakeholder & FormComponentProps>(Form.c
|
|
|
202
400
|
})
|
|
203
401
|
// (<MyInput readOnly={isReadOnly('supplierTaxId')} placeholder="请输入统一社会信用代码/纳税人识别号" autoComplete="off" />)
|
|
204
402
|
(<BuyerNameInput
|
|
403
|
+
onChange={validateIDCode2}
|
|
205
404
|
myform={form}
|
|
206
405
|
fieldName='supplierTaxId'
|
|
207
406
|
readOnly={isReadOnly('supplierTaxId')}
|
|
@@ -391,21 +590,28 @@ export default decorator<IStakeholder, IStakeholder & FormComponentProps>(Form.c
|
|
|
391
590
|
<Form.Item label='证件类型' colon={false} >
|
|
392
591
|
{getFieldDecorator('certificateType', {
|
|
393
592
|
rules: [{ required: true, message: '数据必填' }]
|
|
394
|
-
})(<CardSelect readOnly={isReadOnly('certificateType')} placeholder="数据必填" autoComplete="off" />)}
|
|
593
|
+
})(<CardSelect onChange={onChangeType} readOnly={isReadOnly('certificateType')} placeholder="数据必填" autoComplete="off" />)}
|
|
395
594
|
</Form.Item>
|
|
396
595
|
</Col>
|
|
397
596
|
<Col span={7} >
|
|
398
|
-
<Form.Item label='证件号码' colon={false}
|
|
597
|
+
<Form.Item label='证件号码' colon={false} validateStatus={validateStatus} help={errorInfo}>
|
|
399
598
|
{getFieldDecorator('certificateNumber', {
|
|
400
|
-
rules: [{ required: true, message: '数据必填' }, { max: 30, message: `内容超长` }]
|
|
599
|
+
rules: [{ required: true, message: '数据必填' }, { max: 30, message: `内容超长` }, { validator: validateIDCode },]
|
|
401
600
|
})(<MyInput readOnly={isReadOnly('certificateNumber')} placeholder="数据必填" autoComplete="off" />)}
|
|
402
601
|
</Form.Item>
|
|
403
602
|
</Col>
|
|
404
603
|
<Col span={6} >
|
|
405
|
-
<Form.Item label='国籍(或地区)' colon={false}
|
|
604
|
+
<Form.Item label='国籍(或地区)' colon={false} validateStatus={nation} help={nationInfo}>
|
|
406
605
|
{getFieldDecorator('nationality', {
|
|
407
|
-
rules: [{ required: true, message: '数据必填' }]
|
|
408
|
-
})(<NationalSelect
|
|
606
|
+
rules: [{ required: true, message: '数据必填' }, { validator: validateNationality }]
|
|
607
|
+
})(<NationalSelect showSearch={true}
|
|
608
|
+
optionFilterProp="children"
|
|
609
|
+
filterOption={(input: any, option: any) => {
|
|
610
|
+
if (option) {
|
|
611
|
+
return option.label?.indexOf(input) >= 0;
|
|
612
|
+
}
|
|
613
|
+
return false;
|
|
614
|
+
}} readOnly={isReadOnly('nationality')} placeholder="数据必填" autoComplete="off" />)}
|
|
409
615
|
</Form.Item>
|
|
410
616
|
</Col>
|
|
411
617
|
</Row>
|
|
@@ -469,19 +675,19 @@ function BuyerNameInput(props: InputProps & { fieldName: string; myform: Wrapped
|
|
|
469
675
|
const onSearch = React.useCallback(async (searchText: string) => {
|
|
470
676
|
await Discontinue.start();
|
|
471
677
|
try {
|
|
472
|
-
if (fieldName === 'buyerName'
|
|
678
|
+
if (fieldName === 'buyerName') {
|
|
473
679
|
if (autoComplete.onBuyerNameSearch) {
|
|
474
680
|
setOptions(await autoComplete.onBuyerNameSearch(searchText));
|
|
475
681
|
}
|
|
476
|
-
} else if (fieldName === 'buyerTaxId'
|
|
682
|
+
} else if (fieldName === 'buyerTaxId') {
|
|
477
683
|
if (autoComplete.onBuyerTaxIdSearch) {
|
|
478
684
|
setOptions(await autoComplete.onBuyerTaxIdSearch(searchText));
|
|
479
685
|
}
|
|
480
|
-
}else if(fieldName === 'supplierName'){
|
|
686
|
+
} else if (fieldName === 'supplierName') {
|
|
481
687
|
if (autoComplete.onSupplierNameSearch) {
|
|
482
688
|
setOptions(await autoComplete.onSupplierNameSearch(searchText));
|
|
483
689
|
}
|
|
484
|
-
}else if(fieldName === 'supplierTaxId'){
|
|
690
|
+
} else if (fieldName === 'supplierTaxId') {
|
|
485
691
|
if (autoComplete.onSupplierTaxIdSearch) {
|
|
486
692
|
setOptions(await autoComplete.onSupplierTaxIdSearch(searchText));
|
|
487
693
|
}
|
|
@@ -523,60 +729,10 @@ class CardSelect extends React.Component<any> {
|
|
|
523
729
|
|
|
524
730
|
render() {
|
|
525
731
|
const props = this.props;
|
|
526
|
-
// const option = [
|
|
527
|
-
// { label: '组织机构代码证', value: '101' },
|
|
528
|
-
// { label: '营业执照', value: '102' },
|
|
529
|
-
// { label: '税务登记证', value: '103' },
|
|
530
|
-
// { label: '其他单位证件', value: '199' },
|
|
531
|
-
// { label: '居民身份证', value: '201' },
|
|
532
|
-
// { label: '军官证', value: '202' },
|
|
533
|
-
// { label: '武警警官证', value: '203' },
|
|
534
|
-
// { label: '士兵证', value: '204' },
|
|
535
|
-
// { label: '军队离退休干部证', value: '205' },
|
|
536
|
-
// { label: '残疾人证', value: '206' },
|
|
537
|
-
// { label: '残疾军人证(1-8级)', value: '207' },
|
|
538
|
-
// { label: '外国护照', value: '208', },
|
|
539
|
-
// { label: '港澳同胞回乡证', value: '209', },
|
|
540
|
-
// { label: '港澳居民来往内地通行证', value: '210', },
|
|
541
|
-
// { label: '台胞证', value: '211', },
|
|
542
|
-
// { label: '中华人民共和国往来港澳通行证', value: '212', },
|
|
543
|
-
// { label: '台湾居民来往大陆通行证', value: '213', },
|
|
544
|
-
// { label: '大陆居民往来台湾通行证', value: '214', },
|
|
545
|
-
// { label: '外国人居留证', value: '215', },
|
|
546
|
-
// { label: '外交官证', value: '216', },
|
|
547
|
-
// { label: '使(领事)馆证', value: '217', },
|
|
548
|
-
// { label: '海员证', value: '218', },
|
|
549
|
-
// { label: '香港永久性居民身份证', value: '219', },
|
|
550
|
-
// { label: '台湾身份证', value: '220', },
|
|
551
|
-
// { label: '澳门特别行政区永久性居民身份证', value: '221', },
|
|
552
|
-
// { label: '外国人身份证件', value: '222', },
|
|
553
|
-
// { label: '高校毕业生自主创业证', value: '223', },
|
|
554
|
-
// { label: '就业失业登记证', value: '224', },
|
|
555
|
-
// { label: '退休证', value: '225', },
|
|
556
|
-
// { label: '离休证', value: '226', },
|
|
557
|
-
// { label: '中国护照', value: '227', },
|
|
558
|
-
// { label: '城镇退役士兵自谋职业证', value: '228', },
|
|
559
|
-
// { label: '随军家属身份证明', value: '229', },
|
|
560
|
-
// { label: '中国护照', value: '230', },
|
|
561
|
-
// { label: '中国人民解放军义务兵退出现役证', value: '231', },
|
|
562
|
-
// { label: '中国人民解放军士官退出现役证', value: '232', },
|
|
563
|
-
// { label: '外国人永久居留身份证', value: '233', },
|
|
564
|
-
// { label: '就业创业证', value: '234', },
|
|
565
|
-
// { label: '香港特别行政区护照', value: '235', },
|
|
566
|
-
// { label: '澳门特别行政区护照', value: '236', },
|
|
567
|
-
// { label: '中华人民共和国港澳居民居住证', value: '237', },
|
|
568
|
-
// { label: '中华人民共和国台湾居民居住证', value: '238', },
|
|
569
|
-
// { label: '《中华人民共和国外国人工作许可证》(A类)', value: '239', },
|
|
570
|
-
// { label: '《中华人民共和国外国人工作许可证》(B类)', value: '240', },
|
|
571
|
-
// { label: '《中华人民共和国外国人工作许可证》(C类)', value: '241', },
|
|
572
|
-
// { label: '出生医学证明', value: '291', },
|
|
573
|
-
// { label: '其他个人证件', value: '299', },
|
|
574
|
-
// ]
|
|
575
732
|
const option = [
|
|
576
733
|
|
|
577
734
|
{ label: "居民身份证", value: "201" },
|
|
578
735
|
{ label: "外国护照", value: "208" },
|
|
579
|
-
{ label: "港澳同胞回乡证", value: "209" },
|
|
580
736
|
{ label: "港澳居民来往内地通行证", value: "210" },
|
|
581
737
|
|
|
582
738
|
{ label: "台湾居民来往大陆通行证", value: "213" },
|
|
@@ -589,10 +745,10 @@ class CardSelect extends React.Component<any> {
|
|
|
589
745
|
{ label: "中华人民共和国台湾居民居住证", value: "238" },
|
|
590
746
|
|
|
591
747
|
];
|
|
592
|
-
function getLable
|
|
593
|
-
|
|
748
|
+
function getLable(value?: string) {
|
|
749
|
+
|
|
594
750
|
return option.find(e => e.value === value)?.label || '';
|
|
595
|
-
|
|
751
|
+
|
|
596
752
|
}
|
|
597
753
|
if (props.readOnly) {
|
|
598
754
|
return <span className='digtal-stakeholder-form-text'>{getLable(props.value)}</span>
|
|
@@ -607,6 +763,10 @@ class NationalSelect extends React.Component<any> {
|
|
|
607
763
|
const props = this.props;
|
|
608
764
|
const option = [
|
|
609
765
|
{ value: "156", label: "中国" },
|
|
766
|
+
{ value: "344", label: "中国香港" },
|
|
767
|
+
{ value: "158", label: "中国台湾" },
|
|
768
|
+
{ value: "446", label: "中国澳门" },
|
|
769
|
+
|
|
610
770
|
{ value: "004", label: "阿富汗" },
|
|
611
771
|
{ value: "008", label: "阿尔巴尼亚" },
|
|
612
772
|
{ value: "010", label: "南极洲" },
|
|
@@ -651,7 +811,6 @@ class NationalSelect extends React.Component<any> {
|
|
|
651
811
|
{ value: "148", label: "乍得" },
|
|
652
812
|
{ value: "152", label: "智利" },
|
|
653
813
|
|
|
654
|
-
{ value: "158", label: "中国台湾" },
|
|
655
814
|
{ value: "162", label: "圣诞岛" },
|
|
656
815
|
{ value: "166", label: "科科斯(基林)群岛" },
|
|
657
816
|
{ value: "170", label: "哥伦比亚" },
|
|
@@ -705,7 +864,7 @@ class NationalSelect extends React.Component<any> {
|
|
|
705
864
|
{ value: "334", label: "赫德岛和麦克唐纳岛" },
|
|
706
865
|
{ value: "336", label: "梵蒂冈" },
|
|
707
866
|
{ value: "340", label: "洪都拉斯" },
|
|
708
|
-
|
|
867
|
+
|
|
709
868
|
{ value: "348", label: "匈牙利" },
|
|
710
869
|
{ value: "352", label: "冰岛" },
|
|
711
870
|
{ value: "356", label: "印度" },
|
|
@@ -734,7 +893,7 @@ class NationalSelect extends React.Component<any> {
|
|
|
734
893
|
{ value: "438", label: "列支敦士登" },
|
|
735
894
|
{ value: "440", label: "立陶宛" },
|
|
736
895
|
{ value: "442", label: "卢森堡" },
|
|
737
|
-
|
|
896
|
+
|
|
738
897
|
{ value: "450", label: "马达加斯加" },
|
|
739
898
|
{ value: "454", label: "马拉维" },
|
|
740
899
|
{ value: "458", label: "马来西亚" },
|
|
@@ -855,10 +1014,10 @@ class NationalSelect extends React.Component<any> {
|
|
|
855
1014
|
{ value: "A00", label: "科索沃" }
|
|
856
1015
|
];
|
|
857
1016
|
|
|
858
|
-
function getLable
|
|
859
|
-
|
|
1017
|
+
function getLable(value?: string) {
|
|
1018
|
+
|
|
860
1019
|
return option.find(e => e.value === value)?.label || '';
|
|
861
|
-
|
|
1020
|
+
|
|
862
1021
|
}
|
|
863
1022
|
if (props.readOnly) {
|
|
864
1023
|
return <span className='digtal-stakeholder-form-text'>{getLable(props.value)}</span>
|
|
@@ -200,7 +200,7 @@ export default decorator<IStakeholder, IStakeholder & FormComponentProps>(Form.c
|
|
|
200
200
|
</Form.Item>
|
|
201
201
|
</Col>
|
|
202
202
|
|
|
203
|
-
<Col span={10+
|
|
203
|
+
<Col span={10+leqispanW} style={{ display: isExpand ? undefined : 'none' }} >
|
|
204
204
|
<Form.Item label='购买方地址' colon={false}>
|
|
205
205
|
{getFieldDecorator('buyerAddress', {
|
|
206
206
|
rules: getRules('buyerAddress', [{ max: 100, message: '购买方地址内容超长' }])
|
|
@@ -208,13 +208,22 @@ export default decorator<IStakeholder, IStakeholder & FormComponentProps>(Form.c
|
|
|
208
208
|
</Form.Item>
|
|
209
209
|
</Col>
|
|
210
210
|
|
|
211
|
-
<Col span={10+
|
|
211
|
+
<Col span={10+leqispanW} style={{ display: isExpand ? undefined : 'none' }} >
|
|
212
212
|
<Form.Item label='电话' colon={false} className='telephone'>
|
|
213
213
|
{getFieldDecorator('buyerPhone', {
|
|
214
214
|
rules: getRules('buyerPhone', RULES.buyerTelPhone('购买方电话'))
|
|
215
215
|
})(<MyInput readOnly={isReadOnly('buyerPhone')} placeholder="请输入电话" autoComplete="off" />)}
|
|
216
216
|
</Form.Item>
|
|
217
217
|
</Col>
|
|
218
|
+
{(props.leqi) &&
|
|
219
|
+
<Col span={4} style={{ display: isExpand ? undefined : 'none' }}>
|
|
220
|
+
<Form.Item colon={false}>
|
|
221
|
+
{getFieldDecorator('buyerAddressPhoneFlag', {
|
|
222
|
+
valuePropName: 'checked',
|
|
223
|
+
})(<Checkbox onChange={props?.invoiceMarkCallback} disabled={isReadOnly('buyerAddressPhoneFlag')} style={{whiteSpace:'nowrap'}}>是否展示</Checkbox>)}
|
|
224
|
+
</Form.Item>
|
|
225
|
+
</Col>
|
|
226
|
+
}
|
|
218
227
|
<Col span={10 + leqispanW} style={{ display: isExpand ? undefined : 'none' }} >
|
|
219
228
|
<Form.Item label='购买方开户银行' colon={false}>
|
|
220
229
|
{getFieldDecorator('buyerBank', {
|
|
@@ -281,7 +290,7 @@ export default decorator<IStakeholder, IStakeholder & FormComponentProps>(Form.c
|
|
|
281
290
|
</Form.Item>
|
|
282
291
|
</Col>
|
|
283
292
|
|
|
284
|
-
<Col span={10+
|
|
293
|
+
<Col span={10+leqispanW} style={{ display: isExpand ? undefined : 'none' }} >
|
|
285
294
|
<Form.Item label='销售方地址' colon={false}>
|
|
286
295
|
{getFieldDecorator('sellerAddress', {
|
|
287
296
|
rules: getRules('sellerAddress', [{ max: 300, message: '销售方地址内容超长' }])
|
|
@@ -289,13 +298,22 @@ export default decorator<IStakeholder, IStakeholder & FormComponentProps>(Form.c
|
|
|
289
298
|
</Form.Item>
|
|
290
299
|
</Col>
|
|
291
300
|
|
|
292
|
-
<Col span={10+
|
|
301
|
+
<Col span={10+leqispanW} style={{ display: isExpand ? undefined : 'none' }} >
|
|
293
302
|
<Form.Item label='电话' colon={false} className='telephone' >
|
|
294
303
|
{getFieldDecorator('sellerPhone', {
|
|
295
304
|
rules: getRules('sellerPhone', RULES.sellerTelPhone('销售方电话'))
|
|
296
305
|
})(<MyInput readOnly={isReadOnly('sellerPhone')} placeholder="请输入电话" autoComplete="off" />)}
|
|
297
306
|
</Form.Item>
|
|
298
307
|
</Col>
|
|
308
|
+
{(props.leqi) &&
|
|
309
|
+
<Col span={4} style={{ display: isExpand ? undefined : 'none' }}>
|
|
310
|
+
<Form.Item colon={false}>
|
|
311
|
+
{getFieldDecorator('sellerAddressPhoneFlag', {
|
|
312
|
+
valuePropName: 'checked',
|
|
313
|
+
})(<Checkbox onChange={props?.invoiceMarkCallback} disabled={isReadOnly('sellerAddressPhoneFlag')} style={{whiteSpace:'nowrap'}}>是否展示</Checkbox>)}
|
|
314
|
+
</Form.Item>
|
|
315
|
+
</Col>
|
|
316
|
+
}
|
|
299
317
|
<Col span={10 + leqispanW} style={{ display: isExpand ? undefined : 'none' }} >
|
|
300
318
|
<Form.Item label='销售方开户银行' colon={false}>
|
|
301
319
|
{getFieldDecorator('sellerBank', {
|