|
@@ -22,33 +22,39 @@ export function getOption(type = 'option', text = '') {
|
|
|
*/
|
|
|
export function analysisRecognitionTableFillData(arr) {
|
|
|
if (arr.length === 0) return {};
|
|
|
+ // 判断 arr[0] 中是否有 -
|
|
|
+ let isEnableTable = arr[0].includes('-');
|
|
|
// 表头
|
|
|
let headerNum = arr[0].split('-').length;
|
|
|
- if (headerNum > 1 && (headerNum < 2 || headerNum > 5)) {
|
|
|
+ if (isEnableTable && (headerNum < 2 || headerNum > 5)) {
|
|
|
Message.error('填表题行数在2-5之间');
|
|
|
return {};
|
|
|
}
|
|
|
let is_enable_table_header = switchOption[0].value;
|
|
|
let column_number = 2;
|
|
|
let option_header_list = [];
|
|
|
- if (headerNum > 1) {
|
|
|
- is_enable_table_header = switchOption[1].value;
|
|
|
+ if (isEnableTable && headerNum > 1) {
|
|
|
+ is_enable_table_header = switchOption[0].value;
|
|
|
column_number = headerNum;
|
|
|
option_header_list = arr[0]
|
|
|
.split('-')
|
|
|
.map((item) => ({ mark: getRandomNumber(), text: item, width: 100 / headerNum }));
|
|
|
arr.shift();
|
|
|
} else {
|
|
|
- is_enable_table_header = switchOption[0].value;
|
|
|
- option_header_list = [];
|
|
|
+ is_enable_table_header = switchOption[1].value;
|
|
|
}
|
|
|
|
|
|
// 通过正则表达式匹配出表格内容
|
|
|
let matches = arr.map((str) => {
|
|
|
return str.match(/[((](.*?)[))]/g).map((item) => item.replace(/[((](.*?)[))]/g, '$1'));
|
|
|
});
|
|
|
+ let colNum = isEnableTable ? headerNum : matches[0].length;
|
|
|
+ // 如果不启用表头,取第一行的列数
|
|
|
+ if (!isEnableTable) {
|
|
|
+ column_number = colNum;
|
|
|
+ }
|
|
|
let isMate = matches.every((item) => {
|
|
|
- if (item.length !== headerNum) {
|
|
|
+ if (item.length !== colNum) {
|
|
|
Message.error('填表题表格列数不匹配');
|
|
|
return false;
|
|
|
}
|
|
@@ -60,7 +66,7 @@ export function analysisRecognitionTableFillData(arr) {
|
|
|
Message.error('填表题行数在1-30之间');
|
|
|
return {};
|
|
|
}
|
|
|
- const option_list = matches.map((item) => item.map(getOption));
|
|
|
+ const option_list = matches.map((item) => item.map((text) => getOption('option', text)));
|
|
|
|
|
|
return {
|
|
|
'data.property.is_enable_table_header': is_enable_table_header,
|