Вы не можете выбрать более 25 тем Темы должны начинаться с буквы или цифры, могут содержать дефисы(-) и должны содержать не более 35 символов.

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384
  1. interface ItemData {
  2. name: string; //名称
  3. value: string | number; //键
  4. checked: boolean; //是否选中
  5. }
  6. //以下均为配置表单的默认值
  7. export const config = {
  8. btnBack: false, //上一步按钮是否展示
  9. submitOneName: "上一步", //上一步按钮名称
  10. submitName: "提交", //提交按钮名称
  11. titleWidth: 160 //标题宽度
  12. };
  13. export interface TypeData {
  14. title: string; //标题
  15. titleShow: boolean; //标题名称是否展示
  16. type: number; //类型 (1 文本 2 输入框 3 多项选择器 4 普通选择器 5富文本框 6图片(网格)选择器 7单向选择器 8证件照(左右两边)图片上传 9车牌号输入框 10省市区选择器 11短信验证码 12隐私协议 13车牌颜色)
  17. inputType: string; //(text文本输入键盘 number数字输入键盘 idcard身份证输入键盘 digit带小数点的数字键盘 tel电话输入键盘) OCR类型识别(0 正常 1 证件识别 2 行驶证识别)
  18. value: string; //字段
  19. vertical: number; //方向(默认为 1[横向] 2[纵向])
  20. maxlength: string; //文本长度 (int 类型)
  21. hint: string; //提示语句,号拼接
  22. placeholderImg: string; //占位图,号拼接
  23. required: true; //是否必填(默认不必填)
  24. show: boolean; //是否显示
  25. itemKey: string; //展示字段所用的key
  26. itemData: ItemData[]; //选择器数据
  27. // itemData: any; //选择器数据
  28. style: string; //自定义数据样式
  29. disabled: boolean; //是否禁用
  30. underline: true; //是否不显示下划线
  31. name: string; //选择器数据 (选择器中充当可key值)
  32. num: number; //富文本输入长度计数
  33. mode: string; //选择器类型 date time selector
  34. uploadCarBottom: boolean; //选择器类型 date time selector
  35. checkReg: string; //选择器类型 date time selector
  36. checkPrompt: string; //选择器类型 date time selector
  37. minlength: string; //选择器类型 date time selector
  38. }
  39. //通过name拿到当前字段的坐标值
  40. export function nameBackIndex(key: string, value: string, data: any) {
  41. let index = 0;
  42. for (var i = 0; i < data.length; i++) {
  43. if (key === data[i][value]) {
  44. index = i;
  45. break;
  46. }
  47. }
  48. return index;
  49. }
  50. //支持名称或字段民,最好用字段名来找对应的下标
  51. export function Index(key: string, data: any) {
  52. let index = -1;
  53. for (var i = 0; i < data.length; i++) {
  54. if (key === data[i]["title"] || key === data[i]["value"]) {
  55. index = i;
  56. break;
  57. }
  58. }
  59. return index;
  60. }
  61. // 处理数组将ocr识别的信息展示到页面
  62. export function handleDataList(dataObj: any, data, formData) {
  63. for (let item of dataObj) {
  64. const dataItem = formData.value[Index(item.title, formData.value)];
  65. const valueKey = data[item.key];
  66. if (valueKey !== undefined && !dataItem.show) {
  67. if (item.isNumbers) {
  68. dataItem[dataItem.value] = parseInt(valueKey);
  69. } else if (item.substring) {
  70. // 最后截取多少位
  71. dataItem[dataItem.value] = valueKey.substring(
  72. 0,
  73. valueKey.length - item.substring
  74. );
  75. } else {
  76. dataItem[dataItem.value] = valueKey;
  77. }
  78. }
  79. }
  80. }