import IGood from './IGood';
import { WrappedFormUtils } from 'kts-components-antd-x3/lib/form/Form';
import { PaginationConfig } from 'kts-components-antd-x3/lib/pagination';
const CertificateTypeList = [
{ value: 'COMPANY', label: '单位' },
{ value: 'ORGANIZATION_CODE', label: '组织机构代码证' },
{ value: 'BUSINESS_LICENSE', label: '营业执照' },
{ value: 'TAX_REGISTRATION_CERTIFICATE', label: '税务登记证' },
{ value: 'OTHER_COMPANY_CERTIFICATE', label: '其他单位证件' },
{ value: 'INDIVIDUAL', label: '个人' },
{ value: 'RESIDENT_ID_CARD', label: '居民身份证' },
{ value: 'OFFICER_ID_CARD', label: '军官证' },
{ value: 'ARMED_POLICE_ID_CARD', label: '武警警官证' },
{ value: 'SOLDIER_ID_CARD', label: '士兵证' },
{ value: 'RETIRED_MILITARY_CADRE_CERTIFICATE', label: '军队离退休干部证' },
{ value: 'DISABLED_PERSON_CERTIFICATE', label: '残疾人证' },
{ value: 'DISABLED_SOLDIER_CERTIFICATE', label: '残疾军人证(1-8级)' },
{ value: 'FOREIGN_PASSPORT', label: '外国护照' },
{ value: 'HOME_RETURN_PERMIT', label: '港澳同胞回乡证' },
{ value: 'HONG_KONG_MACAO_MAINLAND_PERMIT', label: '港澳居民来往内地通行证' },
{ value: 'TAIWAN_COMPATRIOT_PERMIT', label: '台胞证' },
{ value: 'HONG_KONG_MACAO_PERMIT', label: '中华人民共和国往来港澳通行证' },
{ value: 'TAIWAN_MAINLAND_PERMIT', label: '台湾居民来往大陆通行证' },
{ value: 'MAINLAND_TAIWAN_PERMIT', label: '大陆居民往来台湾通行证' },
{ value: 'FOREIGN_RESIDENCE_PERMIT', label: '外国人居留证' },
{ value: 'DIPLOMATIC_ID_CARD', label: '外交官证' },
{ value: 'CONSULATE_ID_CARD', label: '使(领事)馆证' },
{ value: 'SEAMAN_BOOK', label: '海员证' },
{ value: 'HONG_KONG_PERMANENT_ID_CARD', label: '香港永久性居民身份证' },
{ value: 'TAIWAN_ID_CARD', label: '台湾身份证' },
{ value: 'MACAO_PERMANENT_ID_CARD', label: '澳门特别行政区永久性居民身份证' },
{ value: 'FOREIGNER_ID_CARD', label: '外国人身份证件' },
{ value: 'GRADUATE_STARTUP_CERTIFICATE', label: '高校毕业生自主创业证' },
{ value: 'EMPLOYMENT_UNEMPLOYMENT_CERTIFICATE', label: '就业失业登记证' },
{ value: 'RETIREMENT_CERTIFICATE', label: '退休证' },
{ value: 'RETIRED_CADRE_CERTIFICATE', label: '离休证' },
{ value: 'CHINESE_PASSPORT', label: '中国护照' },
{ value: 'RETIRED_SOLDIER_SELF_EMPLOYMENT_CERTIFICATE', label: '城镇退役士兵自谋职业证' },
{ value: 'MILITARY_FAMILY_IDENTITY_CERTIFICATE', label: '随军家属身份证明' },
{ value: 'MILITARY_OFFICER_TRANSFER_CERTIFICATE', label: '中国人民解放军军官转业证书' },
{ value: 'MILITARY_CONSCRIPT_RETIREMENT_CERTIFICATE', label: '中国人民解放军义务兵退出现役证' },
{ value: 'MILITARY_NCO_RETIREMENT_CERTIFICATE', label: '中国人民解放军士官退出现役证' },
{ value: 'FOREIGN_PERMANENT_RESIDENCE_ID_CARD', label: '外国人永久居留身份证(外国人永久居留证)' },
{ value: 'EMPLOYMENT_ENTREPRENEURSHIP_CERTIFICATE', label: '就业创业证' },
{ value: 'HONG_KONG_PASSPORT', label: '香港特别行政区护照' },
{ value: 'MACAO_PASSPORT', label: '澳门特别行政区护照' },
{ value: 'HONG_KONG_MACAO_RESIDENCE_PERMIT', label: '中华人民共和国港澳居民居住证' },
{ value: 'TAIWAN_RESIDENCE_PERMIT', label: '中华人民共和国台湾居民居住证' },
{ value: 'FOREIGN_WORK_PERMIT_A', label: '中华人民共和国外国人工作许可证(A类)' },
{ value: 'FOREIGN_WORK_PERMIT_B', label: '中华人民共和国外国人工作许可证(B类)' },
{ value: 'FOREIGN_WORK_PERMIT_C', label: '中华人民共和国外国人工作许可证(C类)' },
{ value: 'BIRTH_MEDICAL_CERTIFICATE', label: '出生医学证明' },
{ value: 'OTHER_INDIVIDUAL_CERTIFICATE', label: '其他个人证件' }
];
// 在 Antd 中使用方式:
//
const VehicleTypeList = [
{ value: 'AIRCRAFT', label: '飞机' },
{ value: 'TRAIN', label: '火车' },
{ value: 'LONG_DISTANCE_BUS', label: '长途汽车' },
{ value: 'PUBLIC_TRANSPORT', label: '公共交通' },
{ value: 'TAXI', label: '出租车' },
{ value: 'AUTOMOBILE', label: '汽车' },
{ value: 'SHIP', label: '船舶' },
{ value: 'OTHER', label: '其他' }
];
export default class PassengerListState {
/** 产品最大数 */
goodMax?: number;
/** 正在编辑的货物 */
editGood?: IGood;
/** 是否可以添加行 */
isAddRow = true;
/** 是否可以删除行 */
isRemRow = true;
/** 是否可以批量导入 */
isBatchImport = true;
/** 批量导入弹窗 */
isVisibleDrawer = false;
/** 货物字典 */
goodsMap = new Map();
/** 被编辑行的form对象 */
form?: WrappedFormUtils;
/** 证件类型列表 */
certificateTypeList: any[] = CertificateTypeList;
/** 交通工具类型列表 */
vehicleTypeList: any[] = VehicleTypeList;
/** 货物列表 */
goodsList: IGood[] = [];
/** 列表选中的货物索引列表 */
selectedGoodIndex: string[] = [];
/** 地区 */
area: any[] = [];
addressFieldNames: IFieldNames = { label: 'label', value: 'value', children: 'children' }
/** 批量导入列表 */
dataSource: any[] = [];
/** 分页数据 */
pagination: PaginationConfig = {};
/** 表头 */
columns: any[] = [
{
title: '序号',
dataIndex: 'i',
key: 'i',
render: (t:any, record:any, index: any) => {
return index + 1;
}
},
{
title: '出行人',
dataIndex: 'cxr',
key: 'cxr',
},
{
title: '出行日期',
dataIndex: 'chuxrq',
key: 'chuxrq',
},
{
title: '出行人证件类型',
dataIndex: 'cxrzjlxDm',
key: 'cxrzjlxDm',
render: (text: any) => {
return CertificateTypeList.find(e => e.value === text)?.label || '';
}
},
{
title: '出行人证件号码',
dataIndex: 'sfzjhm',
key: 'sfzjhm',
},
{
title: '出发点',
dataIndex: 'cfd',
key: 'cfd',
},
{
title: '到达地',
dataIndex: 'ddd',
key: 'ddd',
},
{
title: '交通工具类型',
dataIndex: 'jtgjlxDm',
key: 'jtgjlxDm',
render: (text: any) => {
return VehicleTypeList.find(e => e.value === text)?.label || '';
}
},
{
title: '等级',
dataIndex: 'zwdj',
key: 'zwdj',
},
];
}
interface IFieldNames {
label: string; value: string; children: string
}