diff --git a/src/assets/img/word.png b/src/assets/img/word.png new file mode 100644 index 0000000..75058a4 Binary files /dev/null and b/src/assets/img/word.png differ diff --git a/src/common/js/commonJS.js b/src/common/js/commonJS.js new file mode 100644 index 0000000..d72dffe --- /dev/null +++ b/src/common/js/commonJS.js @@ -0,0 +1,215 @@ +export default { + // 提取 Word 文件中的表格 + extractTablesFromWord(arrayBuffer, callback) { + const zip = new JSZip(); + zip.loadAsync(arrayBuffer) + .then((zip) => zip.file('word/document.xml').async('string')) + .then((docXml) => { + const parser = new DOMParser(); + const xmlDoc = parser.parseFromString(docXml, 'text/xml'); + const tables = xmlDoc.getElementsByTagName('w:tbl'); // 查找 Word 表格标签 + let html = ''; + const wordTables = [] + for (let table of tables) { + var str = this.convertTableToHtml(table); + const container = document.createElement('div'); + container.innerHTML = str; + wordTables.push({ + html: this.updateTableStyles(container), + orientation: 'portrait' // 默认纵向 + }); + + html += str; + } + + if (!html) + html = '

未检测到表格内容。

'; + + + callback( Array.from(wordTables).map((table) => table.html).join(''), wordTables); + }) + .catch(function (err) { + console.error('解析 Word 文件出错:', err); + callback('

文件解析失败,请检查文件格式。

'); + }); + }, + //更新传入所有表格样式 + updateTableStyles(container,type,setTopBottomBorder) { + var typesettingType=type?type:1 + const tables = container.querySelectorAll('table'); + tables.forEach((table) => { + table.setAttribute( + 'style', + `width: ${typesettingType == 1 ? '17.18cm' : '25.88cm' + };border: none; margin: 0 auto !important;border-collapse: collapse; ` + ); + const cells = table.querySelectorAll('td'); + cells.forEach((td) => { + if (/^-?\d+(\.\d+)?$/.test(td.textContent.trim())) { + this.replaceNegativeSign(td); + } + // 检查当前 td 是否包含上下标 + if (!this.containsSupOrSub(td)) { + // 递归处理单元格内的所有子节点 + td.childNodes.forEach((node) => this.capitalizeFirstLetter(node)); + // 替换 标签为其内部文本 + td.querySelectorAll('a').forEach((a) => a.replaceWith(document.createTextNode(a.textContent))); + } + const childElements = td.querySelectorAll('*'); + // 遍历每个子元素 + childElements.forEach((element) => { + // 如果元素的文本内容匹配正则表达式 + if (/\[\d+(?:,\d+)*\]/g.test(element.textContent)) { + element.classList.add('color-highlight'); + element.style.color = 'rgb(0,130,170)'; + } + }); + }); + if(setTopBottomBorder){ + const firstRowTdElements = container.querySelectorAll('tr:first-child td'); // 获取第一个 中的所有 元素 + firstRowTdElements.forEach((td) => { + const currentStyle = td.getAttribute('style'); + if (currentStyle) { + td.setAttribute( + 'style', + currentStyle + + ';border-top:1.0000pt solid #000 !important;mso-border-top-alt:0.5000pt solid #000 !important;border-bottom:1.0000pt solid #000 !important;mso-border-bottom-alt:0.5000pt solid #000 !important;' + ); + } else { + td.setAttribute( + 'style', + 'border-top:1.0000pt solid #000 !important;mso-border-top-alt:0.5000pt solid #000 !important;border-bottom:1.0000pt solid #000 !important;mso-border-bottom-alt:0.5000pt solid #000 !important;' + ); + } + }); + const firstRowTdElementsLast = container.querySelectorAll('tr:last-of-type td'); + firstRowTdElementsLast.forEach((td) => { + // 获取当前的 style 属性(如果有) + const currentStyle = td.getAttribute('style'); + // 如果已有 style 属性,则追加边框样式;如果没有 style 属性,则设置新的 style + if (currentStyle) { + td.setAttribute( + 'style', + currentStyle + + ';border-bottom:1.0000pt solid #000 !important;mso-border-bottom-alt:0.5000pt solid #000 !important;' + ); + } else { + td.setAttribute( + 'style', + 'border-bottom:1.0000pt solid #000 !important;mso-border-bottom-alt:0.5000pt solid #000 !important;' + ); + } + }); + } + + }); + return Array.from(tables).map((table) => table.outerHTML).join(''); + + }, + // 将 XML 表格转换为 HTML + convertTableToHtml(tableNode) { + const rows = tableNode.getElementsByTagName('w:tr'); + let html = ''; + for (let row of rows) { + html += ''; + const cells = row.getElementsByTagName('w:tc'); + for (let cell of cells) { + let cellHtml = ''; + const paragraphs = cell.getElementsByTagName('w:p'); // 获取单元格内段落 + + for (let paragraph of paragraphs) { + const texts = paragraph.getElementsByTagName('w:r'); // 获取段落内的文本和样式 + for (let run of texts) { + const textNode = run.getElementsByTagName('w:t')[0]; + if (textNode) { + const style = this.getStyleFromRun(run); // 提取样式 + cellHtml += `${textNode.textContent}`; + } + } + cellHtml += '
'; // 段落换行 + } + + html += ``; + } + html += ''; + } + html += '
${cellHtml}
'; + + return html; + }, + + // 提取 w:r 节点中的样式并转换为 CSS + getStyleFromRun(run) { + const styleNode = run.getElementsByTagName('w:rPr')[0]; + let style = ''; + if (styleNode) { + // 加粗 + if (styleNode.getElementsByTagName('w:b').length > 0) { + style += 'font-weight: bold;'; + } + // 斜体 + if (styleNode.getElementsByTagName('w:i').length > 0) { + style += 'font-style: italic;'; + } + // 上标或下标 + const vertAlign = styleNode.getElementsByTagName('w:vertAlign')[0]; + if (vertAlign) { + const alignVal = vertAlign.getAttribute('w:val'); + if (alignVal === 'superscript') { + style += 'vertical-align: super; font-size: smaller;'; + } else if (alignVal === 'subscript') { + style += 'vertical-align: sub; font-size: smaller;'; + } + } + // 字体颜色 + const colorNode = styleNode.getElementsByTagName('w:color')[0]; + if (colorNode) { + const colorVal = colorNode.getAttribute('w:val'); + style += `color: #${colorVal};`; + } + } + + return style; + }, + replaceNegativeSign(node) { + if (node.nodeType === Node.TEXT_NODE) { + // 如果是文本节点,替换负号 + node.nodeValue = node.nodeValue.replace(/^-(?=\d)/, '−'); + } else if (node.nodeType === Node.ELEMENT_NODE) { + this.applyToChildNodes(node, (child) => this.replaceNegativeSign(child)); + } + }, + + capitalizeFirstLetter(node) { + if (node.nodeType === Node.TEXT_NODE) { + // 如果是文本节点,只处理第一个非空字符 + node.nodeValue = node.nodeValue.replace(/^\s*([a-zA-Z])/, (match, firstLetter) => firstLetter.toUpperCase()); + } else if (node.nodeType === Node.ELEMENT_NODE) { + this.applyToChildNodes(node, (child) => this.capitalizeFirstLetter(child)); + } + }, + + applyToChildNodes(node, fn) { + if (node.nodeType === Node.ELEMENT_NODE) { + node.childNodes.forEach(fn); + } + }, + + + containsSupOrSub(element) { + // 如果当前节点是元素节点 + if (element.nodeType === 1) { + // 如果是 标签,返回 true + if (element.tagName === 'SUP' || element.tagName === 'SUB') { + return true; + } + // 否则,递归检查子节点 + return Array.from(element.childNodes).some((child) => this.containsSupOrSub(child)); + } + // 如果不是元素节点(如文本节点),返回 false + return false; + }, + + // 通用递归方法 + +}; \ No newline at end of file diff --git a/src/components/page/GenerateCharts.vue b/src/components/page/GenerateCharts.vue index 2a10d79..3d37207 100644 --- a/src/components/page/GenerateCharts.vue +++ b/src/components/page/GenerateCharts.vue @@ -70,7 +70,7 @@ Push Online - +
+ @@ -234,10 +241,8 @@ * Content : - - - + @@ -548,13 +553,12 @@ export default { }, // 表格段落 MTxtTable(val, num) { - // this.lineStyle.p_main_id = val.p_main_id; this.lineStyle.textarea = ''; this.lineStyle.titleCon = ''; this.lineTable = []; - + this.lineStyle = {}; this.threeVisible = true; - this.typesettingType = '1'; + this.$forceUpdate(); }, diff --git a/src/components/page/components/Tinymce/img/bit_bug.png b/src/components/page/components/Tinymce/img/bit_bug.png deleted file mode 100644 index 28dbbb7..0000000 Binary files a/src/components/page/components/Tinymce/img/bit_bug.png and /dev/null differ diff --git a/src/components/page/components/Tinymce/index.vue b/src/components/page/components/Tinymce/index.vue index 12ae539..3852313 100644 --- a/src/components/page/components/Tinymce/index.vue +++ b/src/components/page/components/Tinymce/index.vue @@ -10,7 +10,7 @@ import { Document, Packer, PageOrientation, Paragraph, TextRun } from 'docx'; // import html2canvas from 'html2canvas'; const toolbar = 'uploadWord|undo redo | formatselect | bold italic | forecolor |subscript superscript|table tabledelete |customButtonExportWord |customButtonExportImg |customDropdown | clearButton'; -const tableStyle = ` b span{ +const tableStyle = ` b span{ font-weight: bold !important; } i span{ @@ -87,6 +87,12 @@ const tableStyle = ` b span{ line-height: 10pt !important; mos-line-height: 10pt !important; } + table tr:first-child td { + border-top:1.0000pt solid #000 !important;mso-border-top-alt:0.5000pt solid #000 !important;border-bottom:1.0000pt solid #000 !important;mso-border-bottom-alt:0.5000pt solid #000 !important; + } + table tr:last-of-type td { + border-bottom:1.0000pt solid #000 !important;mso-border-bottom-alt:0.5000pt solid #000 !important;; + } `; export default { @@ -276,7 +282,8 @@ export default { const reader = new FileReader(); reader.onload = function (e) { const arrayBuffer = e.target.result; - _this.extractTablesFromWord(arrayBuffer, function (tablesHtml) { + _this.$commonJS.extractTablesFromWord(arrayBuffer, function (tablesHtml) { + console.log('tablesHtml at line 279:', tablesHtml); ed.setContent(tablesHtml); }); }; @@ -309,12 +316,14 @@ export default { const editorBody = ed.getBody(); // 创建 MutationObserver 监听内容变化 const observer = new MutationObserver(() => { - const hasHorizontalScrollbar = editorBody.scrollWidth > editorBody.clientWidth; - if (hasHorizontalScrollbar) { - console.log('TinyMCE 出现横向滚动条'); - } else { - console.log('没有横向滚动条'); - } + console.log('editorBody at line 313:', editorBody); + // _this.updateTableStyles(editorBody, _this.typesettingType); + // const hasHorizontalScrollbar = editorBody.scrollWidth > editorBody.clientWidth; + // if (hasHorizontalScrollbar) { + // console.log('TinyMCE 出现横向滚动条'); + // } else { + // console.log('没有横向滚动条'); + // } }); // 监听子节点和内容的变化 @@ -338,7 +347,10 @@ export default { let content = ed.getContent(); // 获取内容 content = content.replace(//g, '').replace(/<\/strong>/g, ''); content = content.replace(//g, '').replace(/<\/strong>/g, ''); - _this.export('table', content); + const container = document.createElement('div'); + container.innerHTML = content; + + _this.export('table', _this.$commonJS.updateTableStyles(container, _this.typesettingType, 1)); } }); // 定义自定义按钮 @@ -377,222 +389,14 @@ export default { }); }, // 提取 Word 文件中的表格 - extractTablesFromWord(arrayBuffer, callback) { - const zip = new JSZip(); - var that = this; - zip.loadAsync(arrayBuffer) - .then(function (zip) { - const docXmlPath = 'word/document.xml'; // Word 主文档的 XML 路径 - return zip.file(docXmlPath).async('string'); - }) - .then(function (docXml) { - const parser = new DOMParser(); - const xmlDoc = parser.parseFromString(docXml, 'text/xml'); - const tables = xmlDoc.getElementsByTagName('w:tbl'); // 查找 Word 表格标签 - let html = ''; - for (let table of tables) { - html += that.convertTableToHtml(table); - } - - if (!html) { - html = '

未检测到表格内容。

'; - } - callback(html); - const container = document.createElement('div'); - container.innerHTML = html; - that.updateTableStyles(container); - - console.log('html at line 400:', html); - }) - .catch(function (err) { - console.error('解析 Word 文件出错:', err); - callback('

文件解析失败,请检查文件格式。

'); - }); - }, - - // 将 XML 表格转换为 HTML - convertTableToHtml(tableNode) { - const rows = tableNode.getElementsByTagName('w:tr'); - let html = ''; - for (let row of rows) { - html += ''; - const cells = row.getElementsByTagName('w:tc'); - for (let cell of cells) { - let cellHtml = ''; - const paragraphs = cell.getElementsByTagName('w:p'); // 获取单元格内段落 - - for (let paragraph of paragraphs) { - const texts = paragraph.getElementsByTagName('w:r'); // 获取段落内的文本和样式 - for (let run of texts) { - const textNode = run.getElementsByTagName('w:t')[0]; - if (textNode) { - const style = this.getStyleFromRun(run); // 提取样式 - cellHtml += `${textNode.textContent}`; - } - } - cellHtml += '
'; // 段落换行 - } - - html += ``; - } - html += ''; - } - html += '
${cellHtml}
'; - - return html; - }, - - // 提取 w:r 节点中的样式并转换为 CSS - getStyleFromRun(run) { - const styleNode = run.getElementsByTagName('w:rPr')[0]; - let style = ''; - - if (styleNode) { - // 加粗 - if (styleNode.getElementsByTagName('w:b').length > 0) { - style += 'font-weight: bold;'; - } - // 斜体 - if (styleNode.getElementsByTagName('w:i').length > 0) { - style += 'font-style: italic;'; - } - // 上标或下标 - const vertAlign = styleNode.getElementsByTagName('w:vertAlign')[0]; - if (vertAlign) { - const alignVal = vertAlign.getAttribute('w:val'); - if (alignVal === 'superscript') { - style += 'vertical-align: super; font-size: smaller;'; - } else if (alignVal === 'subscript') { - style += 'vertical-align: sub; font-size: smaller;'; - } - } - // 字体颜色 - const colorNode = styleNode.getElementsByTagName('w:color')[0]; - if (colorNode) { - const colorVal = colorNode.getAttribute('w:val'); - style += `color: #${colorVal};`; - } - } - - return style; - }, - replaceNegativeSign(node) { - if (node.nodeType === Node.TEXT_NODE) { - // 如果是文本节点,替换负号 - node.nodeValue = node.nodeValue.replace(/^-(?=\d)/, '−'); - } else if (node.nodeType === Node.ELEMENT_NODE) { - // 如果是元素节点,递归处理子节点 - node.childNodes.forEach(this.replaceNegativeSign); - } - }, - capitalizeFirstLetter(node) { - if (node.nodeType === Node.TEXT_NODE) { - // 如果是文本节点,只处理第一个非空字符 - node.nodeValue = node.nodeValue.replace(/^\s*([a-zA-Z])/, (match, firstLetter) => { - return firstLetter.toUpperCase(); - }); - } else if (node.nodeType === Node.ELEMENT_NODE) { - // 递归处理子节点 - node.childNodes.forEach(this.capitalizeFirstLetter); - } - }, updateTableStyles(container) { - var _this = this; - // 更新表格样式 - const tables = container.querySelectorAll('table'); - - tables.forEach((table) => { - table.setAttribute( - 'style', - `width: ${ - this.typesettingType == 1 ? '17.18cm' : '25.88cm' - };border: none; margin: 0 auto !important;border-collapse: collapse; ` - ); - const cells = table.querySelectorAll('td'); - cells.forEach((td) => { - if (/^-?\d+(\.\d+)?$/.test(td.textContent.trim())) { - _this.replaceNegativeSign(td); - } - const hasSupOrSub = _this.containsSupOrSub(td); // 检查当前 td 是否包含上下标 - if (!hasSupOrSub) { - // 递归处理单元格内的所有子节点 - td.childNodes.forEach(_this.capitalizeFirstLetter); - // 替换
标签为其内部文本 - td.querySelectorAll('a').forEach((a) => { - const textNode = document.createTextNode(a.textContent); // 创建文本节点 - a.replaceWith(textNode); // 用文本节点替换 标签 - }); - } - - // 获取 td 元素中的所有子元素 - const childElements = td.querySelectorAll('*'); - - // 遍历每个子元素 - childElements.forEach((element) => { - // 如果元素的文本内容匹配正则表达式 - if (/\[\d+(?:,\d+)*\]/g.test(element.textContent)) { - console.log('匹配到带有数字的方括号内容'); - // 为匹配的元素添加样式类 - element.classList.add('color-highlight'); - element.style.color = 'rgb(0,130,170)'; - } - }); - }); - const firstRowTdElements = container.querySelectorAll('tr:first-child td'); // 获取第一个 中的所有 元素 - // 遍历所有 元素,添加上下边框样式 - firstRowTdElements.forEach((td) => { - const currentStyle = td.getAttribute('style'); - if (currentStyle) { - td.setAttribute( - 'style', - currentStyle + - ';border-top:1.0000pt solid #000 !important;mso-border-top-alt:0.5000pt solid #000 !important;border-bottom:1.0000pt solid #000 !important;mso-border-bottom-alt:0.5000pt solid #000 !important;' - ); - } else { - td.setAttribute( - 'style', - 'border-top:1.0000pt solid #000 !important;mso-border-top-alt:0.5000pt solid #000 !important;border-bottom:1.0000pt solid #000 !important;mso-border-bottom-alt:0.5000pt solid #000 !important;' - ); - } - }); - const firstRowTdElementsLast = container.querySelectorAll('tr:last-of-type td'); - // 遍历所有 元素,添加上下边框样式 - firstRowTdElementsLast.forEach((td) => { - // 获取当前的 style 属性(如果有) - const currentStyle = td.getAttribute('style'); - // 如果已有 style 属性,则追加边框样式;如果没有 style 属性,则设置新的 style - if (currentStyle) { - td.setAttribute( - 'style', - currentStyle + - ';border-bottom:1.0000pt solid #000 !important;mso-border-bottom-alt:0.5000pt solid #000 !important;' - ); - } else { - td.setAttribute( - 'style', - 'border-bottom:1.0000pt solid #000 !important;mso-border-bottom-alt:0.5000pt solid #000 !important;' - ); - } - }); - }); - var editor = window.tinymce.activeEditor; - var html = ''; - tables.forEach((e) => { - console.log('e at line 579:', e); - - html += e.outerHTML; - console.log('html at line 582:', html); - }); - // 将外部 DOM 内容更新到编辑器 + var html = this.$commonJS.updateTableStyles(container, this.typesettingType); + var editor = window.tinymce.activeEditor; // 将外部 DOM 内容更新到编辑器 const container1 = document.createElement('div'); container1.innerHTML = html; // html 是更新后的 HTML 内容 - - // 更新编辑器内容 - editor.setContent(container1.innerHTML); - - // 触发编辑器内容变化后,如果需要,可能还要设置编辑器的样式 - editor.focus(); // 聚焦到编辑器 + editor.setContent(container1.innerHTML); // 更新编辑器内容 + editor.focus(); // 聚焦到编辑器// 触发编辑器内容变化后,如果需要,可能还要设置编辑器的样式 }, //销毁富文本 destroyTinymce() { @@ -682,19 +486,6 @@ export default { console.log(arr, '222'); const _this = this; window.tinymce.get(_this.tinymceId).insertContent(arr); - }, - containsSupOrSub(element) { - // 如果当前节点是元素节点 - if (element.nodeType === 1) { - // 如果是 标签,返回 true - if (element.tagName === 'SUP' || element.tagName === 'SUB') { - return true; - } - // 否则,递归检查子节点 - return Array.from(element.childNodes).some((child) => this.containsSupOrSub(child)); - } - // 如果不是元素节点(如文本节点),返回 false - return false; } }, destroyed() { diff --git a/src/components/page/components/table/dragWord.vue b/src/components/page/components/table/dragWord.vue index 8f8fbae..0db0bb3 100644 --- a/src/components/page/components/table/dragWord.vue +++ b/src/components/page/components/table/dragWord.vue @@ -4,12 +4,12 @@

将 Word 文件拖拽到此处

-
@@ -43,28 +43,34 @@ export default { data() { return { tables: [], // 保存解析后的表格数据 - addVisible:false, + addVisible: false }; }, methods: { - clickUpload(){ + addVisCancle(){ +this.addVisible = false; + }, + clickUpload() { + this.tables = []; + var that = this; const input = document.createElement('input'); - input.type = 'file'; - input.accept = '.docx'; // 限制为 Word 文件 - input.addEventListener('change', function () { - const file = input.files[0]; - if (file) { - const reader = new FileReader(); - reader.onload = function (e) { - const arrayBuffer = e.target.result; - _this.extractTablesFromWord(arrayBuffer, function (tablesHtml) { - ed.setContent(tablesHtml); - }); - }; - reader.readAsArrayBuffer(file); - } - }); - input.click(); + input.type = 'file'; + input.accept = '.docx'; // 限制为 Word 文件 + input.addEventListener('change', function () { + const file = input.files[0]; + if (file) { + const reader = new FileReader(); + reader.onload = function (e) { + const arrayBuffer = e.target.result; + that.extractTablesFromWord(arrayBuffer, function (tablesHtml) { + console.log('tablesHtml at line 61:', that.tables); + that.addVisible = true; + }); + }; + reader.readAsArrayBuffer(file); + } + }); + input.click(); }, // 拖拽事件处理 onDragOver(event) { @@ -74,9 +80,8 @@ export default { event.currentTarget.style.borderColor = '#ccc'; }, - - // 提取 Word 文件中的表格 - extractTablesFromWord(arrayBuffer, callback) { + // 提取 Word 文件中的表格 + extractTablesFromWord(arrayBuffer, callback) { const zip = new JSZip(); var that = this; zip.loadAsync(arrayBuffer) @@ -91,18 +96,22 @@ export default { let html = ''; for (let table of tables) { - html += that.convertTableToHtml(table); + var str = that.convertTableToHtml(table); + const container = document.createElement('div'); + container.innerHTML = str; + that.tables.push({ + html: that.updateTableStyles(container), + orientation: 'portrait' // 默认纵向 + }); + + html += str; } if (!html) { html = '

未检测到表格内容。

'; } - callback(html); - const container = document.createElement('div'); - container.innerHTML = html; - that.updateTableStyles(container); - console.log('html at line 400:', html); + callback(html); }) .catch(function (err) { console.error('解析 Word 文件出错:', err); @@ -126,7 +135,7 @@ export default { orientation: 'portrait' // 默认纵向 })); - this.addVisible=true + this.addVisible = true; var html = ''; for (let table of this.tables) { html += this.convertTableToHtml(table.html); @@ -152,7 +161,7 @@ export default { reader.onload = async (e) => { try { const arrayBuffer = e.target.result; - + const zip = new JSZip(); const zipContent = await zip.loadAsync(arrayBuffer); const docXmlPath = 'word/document.xml'; @@ -167,8 +176,8 @@ export default { reader.readAsArrayBuffer(file); }); }, - // 将 XML 表格转换为 HTML - convertTableToHtml(tableNode) { + // 将 XML 表格转换为 HTML + convertTableToHtml(tableNode) { const rows = tableNode.getElementsByTagName('w:tr'); let html = ''; for (let row of rows) { @@ -257,7 +266,6 @@ export default { var _this = this; // 更新表格样式 const tables = container.querySelectorAll('table'); - tables.forEach((table) => { table.setAttribute( 'style', @@ -291,7 +299,7 @@ export default { console.log('匹配到带有数字的方括号内容'); // 为匹配的元素添加样式类 element.classList.add('color-highlight'); - element.style.color = 'rgb(0,130,170)'; + element.style.color = 'rgb(0,130,170)'; } }); }); @@ -332,26 +340,31 @@ export default { } }); }); - var editor = window.tinymce.activeEditor; + console.log('tables.forEach at line 270:', tables); + // var editor = window.tinymce.activeEditor; var html = ''; tables.forEach((e) => { - console.log('e at line 579:', e); - html += e.outerHTML; console.log('html at line 582:', html); }); - // 将外部 DOM 内容更新到编辑器 - const container1 = document.createElement('div'); - container1.innerHTML = html; // html 是更新后的 HTML 内容 - - // 更新编辑器内容 - editor.setContent(container1.innerHTML); - - // 触发编辑器内容变化后,如果需要,可能还要设置编辑器的样式 - editor.focus(); // 聚焦到编辑器 + this.$forceUpdate(); + return html + }, - + containsSupOrSub(element) { + // 如果当前节点是元素节点 + if (element.nodeType === 1) { + // 如果是 标签,返回 true + if (element.tagName === 'SUP' || element.tagName === 'SUB') { + return true; + } + // 否则,递归检查子节点 + return Array.from(element.childNodes).some((child) => this.containsSupOrSub(child)); + } + // 如果不是元素节点(如文本节点),返回 false + return false; + }, // 确认表格 confirmTable(index) { const table = this.tables[index]; diff --git a/src/components/page/components/table/table copy 2.vue b/src/components/page/components/table/table copy 2.vue deleted file mode 100644 index f163449..0000000 --- a/src/components/page/components/table/table copy 2.vue +++ /dev/null @@ -1,432 +0,0 @@ - - - - - diff --git a/src/components/page/components/table/table copy 3.vue b/src/components/page/components/table/table copy 3.vue deleted file mode 100644 index a5df5a9..0000000 --- a/src/components/page/components/table/table copy 3.vue +++ /dev/null @@ -1,657 +0,0 @@ - - - - - diff --git a/src/components/page/components/table/template.txt b/src/components/page/components/table/template.txt deleted file mode 100644 index 4e6d6b3..0000000 --- a/src/components/page/components/table/template.txt +++ /dev/null @@ -1,3241 +0,0 @@ - - - - - -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-

No.

-
-

RT

-

(min)

-
-

Formula

-
-

Adduct

-
-

Theo. (m/z)

-
-

Exp.

-

(m/z)

-
-

Error (ppm)

-
-

MS2 fragment ion

-
-

Potential compound

-
-

Class

-
-

Ref.

-
-

M1

-
-

1.15

-
-

C6H12O7

-
-

[M–H]

-
-

195.05830

-
-

195.05049

-
-

−4.00

-
-

159.02975, 129.01912, 75.00863

-
-

Gluconic acid

-
-

Organic acid

-
-

[33]

-
-

M2

-
-

1.17

-
-

C7H12O6

-
-

[M–H]

-
-

191.06339

-
-

191.05562

-
-

−4.07

-
-

127.03978, 85.02937

-
-

Quinic acid

-
-

Organic acid

-
-

[1]

-
-

M3

-
-

1.17

-
-

C4H6O5

-
-

[M–H]

-
-

133.02152

-
-

133.01899

-
-

−1.90

-
-

115.00346, 89.02427, 71.01373

-
-

DL-Malic acid

-
-

Organic acid

-
-

[34]

-
-

M4

-
-

1.20

-
-

C6H8O7

-
-

[M–H]

-
-

191.02700

-
-

191.01924

-
-

−4.06

-
-

129.01910, 111.00858, 87.00865

-
-

Citric acid

-
-

Organic acid

-
-

[34]

-
-

M5

-
-

1.22

-
-

C5H6O4

-
-

[M–H]

-
-

129.02661

-
-

129.02613

-
-

−0.37

-
-

101.02432, 85.02946

-
-

Glutaconic acid

-
-

Organic acid

-
-

[35]

-
-

M6

-
-

1.32

-
-

C4H6O4

-
-

[M–H]

-
-

117.02661

-
-

117.02104

-
-

−4.76

-
-

73.02940

-
-

Methylmalonic acid

-
-

Organic acid

-
-

[36]

-
-

M7

-
-

1.35

-
-

C6H10O5

-
-

[M–H]

-
-

161.05282

-
-

161.04512

-
-

−4.78

-
-

99.04504, 57.03442

-
-

Meglutol

-
-

Organic acid

-
-

[35]

-
-

M8

-
-

1.49

-
-

C6H6O3

-
-

[M–H]

-
-

125.03169

-
-

125.02802

-
-

−2.94

-
-

97.02926

-
-

Pyrogallol

-
-

Phenolic acids

-
-

[37]

-
-

M9

-
-

1.49

-
-

C7H6O5

-
-

[M–H]

-
-

169.02152

-
-

169.01405

-
-

−4.42

-
-

125.02426

-
-

*Gallic acid

-
-

Phenolic acids

-
-

[38]

-
-

M10

-
-

2.62

-
-

C7H6O4

-
-

[M–H]

-
-

153.02661

-
-

153.01901

-
-

−4.97

-
-

109.02924

-
-

Gentisic acid

-
-

Phenolic acids

-
-

[39]

-
-

M11

-
-

3.08

-
-

C6H10O4

-
-

[M–H]

-
-

145.05791

-
-

145.05620

-
-

−1.18

-
-

101.06063, 83.05013

-
-

Adipic acid

-
-

Organic acid

-
-

[40]

-
-

M12

-
-

3.12

-
-

C16H18O9

-
-

[M–H]

-
-

353.09508

-
-

353.08716

-
-

−2.24

-
-

191.05582, 179.03470, 135.04498

-
-

Neochlorogenic acid

-
-

Phenylpropanoids

-
-

[37]

-
-

M13

-
-

4.05

-
-

C7H6O3

-
-

[M–H]

-
-

137.03169

-
-

137.02405

-
-

−5.58

-
-

93.03446

-
-

Salicylic acid

-
-

Phenylpropanoids

-
-

[41]

-
-

M14

-
-

4.28

-
-

C30H26O12

-
-

[M+H]+

-
-

579.14243

-
-

579.14941

-
-

1.21

-
-

409.09109, 287.05457, 163.03876, 127.03899

-
-

Procyanidin B1

-
-

Flavonoids

-
-

[42]

-
-

M15

-
-

4.48

-
-

C16H18O8

-
-

[M–H]

-
-

337.10017

-
-

337.09213

-
-

−2.39

-
-

191.05573, 163.03976, 119.04998

-
-

3-p-CoumaRoylquinic acid

-
-

Phenylpropanoids

-
-

[43]

-
-

M16

-
-

4.54

-
-

C9H8O3

-
-

[M–H]

-
-

163.04734

-
-

163.03960

-
-

−4.75

-
-

119.04996

-
-

P-Hydroxy-cinnamic acid

-
-

Phenylpropanoids

-
-

[44]

-
-

M17

-
-

4.67

-
-

C16H12O6

-
-

[M+H]+

-
-

301.06339

-
-

301.07001

-
-

2.20

-
-

286.04688, 258.05206, 229.04921

-
-

Diosmetin

-
-

Flavonoids

-
-

[45]

-
-

M18

-
-

4.68

-
-

C8H8O5

-
-

[M–H]

-
-

183.03717

-
-

183.02931

-
-

−4.29

-
-

168.00607, 140.01128, 124.01627

-
-

Methyl gallate

-
-

Phenols

-
-

[1]

-
-

M19

-
-

4.87

-
-

C16H18O9

-
-

[M–H]

-
-

353.09508

-
-

353.08670

-
-

−2.37

-
-

191.05569, 161.02394, 135.04495

-
-

Chlorogenic acid

-
-

Phenylpropanoids

-
-

[21]

-
-

M20

-
-

4.89

-
-

C15H14O6

-
-

[M–H]

-
-

289.07904

-
-

289.07117

-
-

−2.72

-
-

245.08150, 203.07112, 123.04498, 109.02930

-
-

Catechin

-
-

Flavonoids

-
-

[13]

-
-

M21

-
-

4.97

-
-

C7H6O3

-
-

[M+H]+

-
-

139.03169

-
-

139.03577

-
-

2.93

-
-

111.04432, 93.03400, 65.03931

-
-

Protocatechualdehyde

-
-

Phenols

-
-

[46]

-
-

M22

-
-

5.31

-
-

C27H22O18

-
-

[M–H]

-
-

633.08061

-
-

633.07196

-
-

−1.37

-
-

300.99826, 275.01923, 229.01360

-
-

Corilagin

-
-

Phenols

-
-

[45]

-
-

M23

-
-

5.37

-
-

C15H10O6

-
-

[M+H]

-
-

287.04774

-
-

287.05453

-
-

2.37

-
-

177.01813, 137.02327, 121.02857

-
-

Fisetin

-
-

Flavonoids

-
-

[37]

-
-

M24

-
-

5.58

-
-

C9H8O4

-
-

[M-H]-

-
-

179.04226

-
-

179.03448

-
-

−4.35

-
-

135.04494

-
-

Caffeic acid

-
-

Phenylpropanoids

-
-

[39]

-
-

M25

-
-

5.94

-
-

C27H24O18

-
-

[M–H]

-
-

635.09626

-
-

635.08783

-
-

−1.33

-
-

313.05594, 169.01385, 125.02409

-
-

1,3,6-Trigalloyl glucose

-
-

Phenols

-
-

[47]

-
-

M26

-
-

6.20

-
-

C10H10O2

-
-

[M+H]

-
-

163.06808

-
-

163.07507

-
-

4.29

-
-

131.04916, 103.05463

-
-

Methyl cinnamate

-
-

Phenylpropanoids

-
-

[48]

-
-

M27

-
-

6.34

-
-

C27H30O16

-
-

[M+H]

-
-

611.15338

-
-

611.16010

-
-

1.10

-
-

449.10773, 303.04956, 287.05469, 85.02901

-
-

Kaempferol-3-O-Gentiobioside

-
-

Flavonoid glycosides

-
-

[49]

-
-

M28

-
-

6.51

-
-

C15H14O6

-
-

[M–H]

-
-

289.07904

-
-

289.07104

-
-

−2.77

-
-

245.08153, 203.07101, 123.04419, 109.02931

-
-

Epicatechin

-
-

Flavonoids

-
-

[42]

-
-

M29

-
-

6.84

-
-

C15H10O5

-
-

[M+H]

-
-

271.05282

-
-

271.05966

-
-

2.52

-
-

243.06497, 215.07007, 149.02325

-
-

Genistein

-
-

Flavonoids

-
-

[35]

-
-

M30

-
-

7.54

-
-

C30H26O12

-
-

[M–H]

-
-

577.14243

-
-

577.13385

-
-

−1.49

-
-

407.07642, 289.07129, 161.02412, 125.02417

-
-

Procyanidin B2

-
-

Flavonoids

-
-

[42]

-
-

M31

-
-

7.65

-
-

C8H8O4

-
-

[M+H]+

-
-

169.04226

-
-

169.04921

-
-

4.11

-
-

151.03888, 125.05983, 111.04436, 65.03933

-
-

Isovanillic acid

-
-

Phenolic acids

-
-

[37]

-
-

M32

-
-

7.95

-
-

C21H20O11

-
-

[M+H]+

-
-

449.10056

-
-

449.10754

-
-

1.55

-
-

287.05457, 153.0181

-
-

Cynaroside

-
-

Flavonoid glycosides

-
-

[50]

-
-

M33

-
-

8.21

-
-

C21H22O12

-
-

[M–H]

-
-

465.11113

-
-

465.10269

-
-

−1.81

-
-

437.10843, 285.03989, 125.02415

-
-

Plantagoside

-
-

Flavonoid glycosides

-
-

[51]

-
-

M34

-
-

8.22

-
-

C15H12O7

-
-

[M+H]+

-
-

305.05830

-
-

305.06512

-
-

2.24

-
-

287.05444, 259.05991, 153.01817, 123.04425

-
-

Taxifolin

-
-

Flavonoids

-
-

[39]

-
-

M35

-
-

8.30

-
-

C14H8O5

-
-

[M+H]+

-
-

257.03717

-
-

257.04398

-
-

2.65

-
-

229.04938

-
-

Purpurin

-
-

Anthraquinones

-
-

[52]

-
-

M36

-
-

8.49

-
-

C27H30O16

-
-

[M–H]

-
-

609.15338

-
-

609.14539

-
-

−1.35

-
-

429.08124, 284.03210, 255.02946, 227.03459

-
-

*Kaempferol-3-O-sophoroside

-
-

Flavonoid glycosides

-
-

[13]

-
-

M37

-
-

8.53

-
-

C14H6O8

-
-

[M–H]

-
-

301.00627

-
-

300.99817

-
-

−2.72

-
-

283.99554, 229.01360

-
-

*Ellagic acid

-
-

Phenols

-
-

[13]

-
-

M38

-
-

8.71

-
-

C26H28O16

-
-

[M–H]

-
-

595.13773

-
-

595.12927

-
-

−1.42

-
-

300.02689, 271.02432, 255.02942

-
-

Peltatoside

-
-

Flavonoid glycosides

-
-

[53]

-
-

M39

-
-

8.71

-
-

C22H18O10

-
-

[M–H]

-
-

441.09000

-
-

441.08151

-
-

−1.92

-
-

289.07114, 245.08159, 137.02405, 109.02924

-
-

(-)-Epicatechin gallate

-
-

Flavonoids

-
-

[45]

-
-

M40

-
-

8.97

-
-

C27H30O16

-
-

[M–H]

-
-

609.15338

-
-

609.14508

-
-

−1.36

-
-

300.02682, 271.02429, 255.02942, 151.00334

-
-

Rutin

-
-

Flavonoids

-
-

[1]

-
-

M41

-
-

9.00

-
-

C15H12O5

-
-

[M+H]

-
-

273.06847

-
-

273.07504

-
-

2.41

-
-

171.02843, 153.01807, 147.04387, 119.04927

-
-

Naringeninchalcone

-
-

Flavonoids

-
-

[45]

-
-

M42

-
-

9.05

-
-

C28H32O16

-
-

[M–H]

-
-

623.16903

-
-

623.16034

-
-

−1.39

-
-

314.04263, 299.01904, 271.02432

-
-

Isorhamnetin-3-Rutinoside

-
-

Flavonoid glycosides

-
-

[54]

-
-

M43

-
-

9.16

-
-

C21H20O12

-
-

[M–H]

-
-

463.09548

-
-

463.08765

-
-

−1.78

-
-

300.02695, 271.02444, 255.02954, 151.00336

-
-

*Hyperoside

-
-

Flavonoid glycosides

-
-

[1,55]

-
-

M44

-
-

9.33

-
-

C21H18O13

-
-

[M–H]

-
-

477.07474

-
-

477.06644

-
-

−1.74

-
-

301.03491, 169.01402, 151.00342, 125.02422

-
-

Miquelianin

-
-

Flavonoid glycosides

-
-

[5]

-
-

M45

-
-

9.38

-
-

C41H28O27

-
-

[M–H]

-
-

951.08180

-
-

951.07184

-
-

−1.05

-
-

613.04590, 300.99832, 273.00351

-
-

Geraniin

-
-

Phenols

-
-

[56]

-
-

M46

-
-

9.44

-
-

C21H20O13

-
-

[M–H]

-
-

479.09039

-
-

479.08157

-
-

−1.84

-
-

316.02194, 299.01898, 271.02448, 151.00339

-
-

Myricetin 3-O-beta-D-galactopyranoside

-
-

Flavonoid glycosides

-
-

[57]

-
-

M47

-
-

9.44

-
-

C21H20O12

-
-

[M–H]

-
-

463.09548

-
-

463.08752

-
-

−1.74

-
-

300.02698, 271.02438, 255.02948

-
-

*Isoquercitrin

-
-

Flavonoid glycosides

-
-

[1]

-
-

M48

-
-

10.07

-
-

C20H18O11

-
-

[M+H]+

-
-

435.08491

-
-

435.09177

-
-

1.58

-
-

303.04965, 153.01811, 73.029140

-
-

Reynoutrin

-
-

Flavonoid glycosides

-
-

[58]

-
-

M49

-
-

10.29

-
-

C26H28O15

-
-

[M–H]

-
-

579.14282

-
-

579.13428

-
-

−1.47

-
-

284.03204, 255.02943, 227.03459

-
-

Leucoside

-
-

Flavonoid glycosides

-
-

[59]

-
-

M50

-
-

10.53

-
-

C21H20O11

-
-

[M–H]

-
-

447.10056

-
-

447.09241

-
-

−1.82

-
-

284.03217, 255.02953, 227.03465

-
-

Trifolin

-
-

Flavonoid glycosides

-
-

[45]

-
-

M51

-
-

10.70

-
-

C27H30O15

-
-

[M–H]

-
-

593.15847

-
-

593.15045

-
-

−1.39

-
-

285.04001, 255.02950, 227.03456

-
-

*Kaempferol-3-O-rutinoside

-
-

Flavonoid glycosides

-
-

[1]

-
-

M52

-
-

10.95

-
-

C20H18O11

-
-

[M–H]

-
-

433.08491

-
-

433.07663

-
-

−1.91

-
-

300.02695, 271.02438, 255.02948, 151.00336

-
-

Quercetin-3-O-Xyloside

-
-

Flavonoid glycosides

-
-

[1]

-
-

M53

-
-

10.95

-
-

C20H18O11

-
-

[M+H]+

-
-

435.08491

-
-

435.09158

-
-

1.53

-
-

303.04947

-
-

Avicularin

-
-

Flavonoid glycosides

-
-

[13]

-
-

M54

-
-

10.95

-
-

C15H10O7

-
-

[M+H]+

-
-

303.04265

-
-

303.04944

-
-

2.24

-
-

229.04936, 153.01814, 137.02327

-
-

Morin

-
-

Flavonoid

-
-

[39]

-
-

M55

-
-

11.29

-
-

C21H18O12

-
-

[M–H]

-
-

461.07983

-
-

461.07089

-
-

−1.94

-
-

285.03967, 229.04994, 113.02418, 85.02931

-
-

Kaempferol-3-O-glucuronoside

-
-

Flavonoid glycosides

-
-

[60]

-
-

M56

-
-

11.33

-
-

C21H20O11

-
-

[M–H]

-
-

447.10056

-
-

447.09256

-
-

−1.79

-
-

284.03223, 255.02956, 227.03470

-
-

Kaempferol-3-O-glucoside

-
-

Flavonoid glycosides

-
-

[61]

-
-

M57

-
-

11.48

-
-

C21H20O11

-
-

[M–H]

-
-

447.10056

-
-

447.09262

-
-

−1.82

-
-

300.02701, 271.02448, 255.02957, 151.00337

-
-

*Quercitrin

-
-

Flavonoid glycosides

-
-

[13]

-
-

M58

-
-

11.88

-
-

C15H12O6

-
-

[M–H]

-
-

287.06339

-
-

287.05533

-
-

−2.81

-
-

259.06055, 243.06557, 177.05530, 125.02409

-
-

Dihydrokaempferol

-
-

Flavonoids

-
-

[45]

-
-

M59

-
-

12.09

-
-

C21H22O10

-
-

[M–H]

-
-

433.12130

-
-

433.11307

-
-

−1.90

-
-

271.0607, 151.00339, 119.05000

-
-

Prunin

-
-

Flavonoid glycosides

-
-

[62]

-
-

M60

-
-

12.27

-
-

C21H20O12

-
-

[M–H]

-
-

463.09548

-
-

463.08725

-
-

−1.78

-
-

301.03461, 178.99818, 151.00330, 107.01363

-
-

Spiraeoside

-
-

Flavonoid glycosides

-
-

[63]

-
-

M61

-
-

12.51

-
-

C20H18O10

-
-

[M–H]

-
-

417.09000

-
-

417.08191

-
-

−1.94

-
-

284.03214, 255.02948, 227.03462

-
-

Juglalin

-
-

Flavonoid glycosides

-
-

[13]

-
-

M62

-
-

12.85

-
-

C21H20O11

-
-

[M–H]

-
-

447.10056

-
-

447.09213

-
-

−1.89

-
-

284.03189, 151.00323, 107.0136

-
-

Kaempferol-7-O-glucoside

-
-

Flavonoid glycosides

-
-

[60]

-
-

M63

-
-

14.39

-
-

C21H20O10

-
-

[M–H]

-
-

431.10565

-
-

431.09750

-
-

−1.91

-
-

285.03992, 255.02950, 227.03461

-
-

*Afzelin

-
-

Flavonoid glycosides

-
-

[13]

-
-

M64

-
-

14.54

-
-

C21H24O10

-
-

[M–H]

-
-

435.13695

-
-

435.12878

-
-

−1.88

-
-

273.07645, 167.03471, 123.04498

-
-

Phloridzin

-
-

Flavonoid glycosides

-
-

[45]

-
-

M65

-
-

17.19

-
-

C15H12O6

-
-

[M–H]

-
-

287.06339

-
-

287.05539

-
-

−2.79

-
-

151.00333, 135.04491, 107.01366

-
-

Eriodictyol

-
-

Flavonoids

-
-

[64]

-
-

M66

-
-

18.48

-
-

C15H10O7

-
-

[M–H]

-
-

301.04265

-
-

301.03467

-
-

−2.67

-
-

178.99820, 151.00334, 121.02925, 107.01366

-
-

*Quercetin

-
-

Flavonoids

-
-

[1]

-
-

M67

-
-

21.31

-
-

C30H26O13

-
-

[M–H]

-
-

593.13734

-
-

593.12946

-
-

−1.36

-
-

447.09296, 285.03998, 255.02954, 227.03467

-
-

*Tiliroside

-
-

Flavonoid glycosides

-
-

[61]

-
-

M68

-
-

21.35

-
-

C9H8O3

-
-

[M+H]+

-
-

165.04734

-
-

165.05434

-
-

4.24

-
-

147.04395, 119.04936, 91.05478

-
-

4-Coumaric acid

-
-

Phenylpropanoids

-
-

[41]

-
-

M69

-
-

22.88

-
-

C15H12O4

-
-

[M+H]+

-
-

257.07356

-
-

257.08044

-
-

2.68

-
-

153.01811, 131.04915, 103.05463

-
-

Pinocembrin

-
-

Flavonoids

-
-

[45]

-
-

M70

-
-

23.11

-
-

C15H12O5

-
-

[M–H]

-
-

271.06847

-
-

271.06058

-
-

−2.91

-
-

177.01913, 151.00337, 119.04999, 107.01367

-
-

Naringenin

-
-

Flavonoids

-
-

[39]

-
-

M71

-
-

24.09

-
-

C15H10O5

-
-

[M–H]

-
-

269.05282

-
-

269.04489

-
-

−2.95

-
-

225.05533, 151.00330, 117.03436

-
-

Apigenin

-
-

Flavonoids

-
-

[39]

-
-

M72

-
-

25.11

-
-

C16H12O6

-
-

[M–H]

-
-

299.06339

-
-

299.05545

-
-

−2.65

-
-

284.03217, 227.03505, 136.98788

-
-

Hispidulin

-
-

Flavonoids

-
-

[65]

-
-

M73

-
-

25.32

-
-

C15H10O6

-
-

[M–H]

-
-

285.04774

-
-

285.03989

-
-

−2.81

-
-

257.04471, 229.05026, 151.00334

-
-

*Kaempferol

-
-

Flavonoids

-
-

[60]

-
-

M74

-
-

26.73

-
-

C9H6O2

-
-

[M+H]+

-
-

147.03678

-
-

147.04378

-
-

4.76

-
-

119.04935, 91.05477

-
-

Coumarin

-
-

Phenylpropanoids

-
-

[66]

-
-

M75

-
-

28.95

-
-

C18H16O8

-
-

[M+H]+

-
-

361.08452

-
-

361.09125

-
-

1.86

-
-

331.04443, 303.04959, 151.03888

-
-

Centaureidin

-
-

Flavonoids

-
-

[67]

-
-

M76

-
-

29.50

-
-

C17H14O6

-
-

[M+H]+

-
-

315.07904

-
-

315.08582

-
-

2.15

-
-

300.06259, 282.05203, 254.05717, 154.02602

-
-

Scrophulein/ Cirsimaritin

-
-

Flavonoids

-
-

[68]

-
-

M77

-
-

30.03

-
-

C30H48O6

-
-

[M–H]

-
-

503.34509

-
-

503.33691

-
-

−1.63

-
-

111.08073, 421.31030

-
-

Arjungenin

-
-

Triterpenes

-
-

[69]

-
-

M78

-
-

30.05

-
-

C19H18O8

-
-

[M–H]

-
-

373.10017

-
-

373.09207

-
-

−2.17

-
-

358.06909, 343.04535, 285.00366, 257.00900

-
-

Casticin

-
-

Flavonoids

-
-

[70]

-
-

M79

-
-

30.17

-
-

C18H16O7

-
-

[M+H]+

-
-

345.08960

-
-

345.09644

-
-

1.98

-
-

330.07285, 315.04947, 201.00281, 133.06482

-
-

Lysionotin

-
-

Flavonoids

-
-

[71]

-
-

M80

-
-

30.29

-
-

C16H12O5

-
-

[M+H]+

-
-

285.06847

-
-

285.07529

-
-

2.39

-
-

270.05191, 242.05705, 153.01805

-
-

Glycitein

-
-

Flavonoids

-
-

[35]

-
-

M81

-
-

30.31

-
-

C17H14O6

-
-

[M–H]

-
-

313.07904

-
-

313.07098

-
-

−2.57

-
-

298.04770, 283.02435, 255.02953, 163.00333

-
-

Pectolinarigenin

-
-

Flavonoids

-
-

[72]

-
-

M82

-
-

30.60

-
-

C19H18O8

-
-

[M–H]

-
-

373.10017

-
-

373.09210

-
-

−2.16

-
-

358.06891, 328.02194, 285.00363, 241.01399

-
-

Chrysosplenetin B

-
-

Flavonoids

-
-

[73]

-
-

M83

-
-

30.73

-
-

C30H48O5

-
-

[M–H]

-
-

487.35017

-
-

487.34213

-
-

−1.65

-
-

469.33154

-
-

Asiatic acid

-
-

Triterpenes

-
-

[74]

-
-

M84

-
-

31.65

-
-

C16H32O3

-
-

[M–H]

-
-

271.23514

-
-

271.22708

-
-

−2.97

-
-

253.21635, 225.22192

-
-

16-Hydroxyhexadecanoic acid

-
-

Fatty acid

-
-

[75]

-
-

M85

-
-

31.74

-
-

C18H28O3

-
-

[M+H]+

-
-

293.20384

-
-

293.21030

-
-

2.20

-
-

275.20013, 149.09596, 107.08582, 79.05482

-
-

12-oxophytodienoic acid

-
-

Fatty acid

-
-

[76]

-
-

M86

-
-

31.87

-
-

C18H30O2

-
-

[M+H]+

-
-

279.22458

-
-

279.23132

-
-

2.41

-
-

261.22107, 173.13228, 109.10149, 81.07050

-
-

α-Eleostearic acid

-
-

Fatty acid

-
-

[77]

-
-

M87

-
-

33.09

-
-

C20H30O2

-
-

[M+H]+

-
-

303.22458

-
-

303.23129

-
-

2.21

-
-

285.22089, 175.14809, 119.08578, 81.07054

-
-

Eicosapentaenoic acid

-
-

Fatty acid

-
-

[78]

-
-

M88

-
-

33.21

-
-

C18H30O2

-
-

[M+H]+

-
-

279.22458

-
-

279.23114

-
-

2.35

-
-

223.16911, 149.02319, 109.10143, 81.07047

-
-

α-Linolenic acid

-
-

Fatty acid

-
-

[61]

-
-

M89

-
-

33.33

-
-

C21H38O4

-
-

[M+H]+

-
-

355.27701

-
-

355.28369

-
-

1.88

-
-

263.23685, 245.22607, 109.10155, 81.07052

-
-

1-Linoleoyl glycerol

-
-

Fatty acid

-
-

[79]

-
-

- - \ No newline at end of file diff --git a/src/main.js b/src/main.js index 8f2c68a..540b3f9 100644 --- a/src/main.js +++ b/src/main.js @@ -54,7 +54,8 @@ Vue.filter('formatDate', function(originVal) { }) // 引入wps文档编辑 import mammoth from "mammoth"; - +import commonJS from '@/common/js/commonJS.js' +Vue.prototype.$commonJS = commonJS Vue.prototype.Common = Common;