From 252b2e318bccf1164d269a93988675a97b0bbfbc Mon Sep 17 00:00:00 2001 From: CIMYong_Work <1498365143@qq.com> Date: Fri, 17 Oct 2025 08:28:46 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/assets/css/style.css | 86 +++++++-- src/assets/img/zw.jpg | Bin 0 -> 24985 bytes src/components/wang.vue | 395 ++++++++++++++++++++++++--------------- 3 files changed, 310 insertions(+), 171 deletions(-) create mode 100644 src/assets/img/zw.jpg diff --git a/src/assets/css/style.css b/src/assets/css/style.css index b1ba8dd..0ec4bbe 100644 --- a/src/assets/css/style.css +++ b/src/assets/css/style.css @@ -39,12 +39,13 @@ } .rightDiv { height: calc(100% - 7px); - width: calc(100% - 372px); + width:100%; + /* width: calc(100% - 372px); */ /* background: lightcoral; */ /* height: 600px; */ overflow: hidden; /* overflow: hidden auto; */ - padding: 20px; + padding: 20px 0; padding-top: 4px; padding-right: 0; padding-bottom: 0; @@ -536,13 +537,30 @@ button:hover { /* border-radius: 8px; */ position: relative; } +.tree-container { + width: 100% !important; /* 确保容器占满父元素宽度 */ + overflow-x: auto !important; /* 允许容器横向滚动 */ + padding-bottom: 10px; /* 预留横向滚动条空间 */ +} +/* 确保树形组件不被限制宽度 */ +.elTree { + min-width: 100% !important; /* 至少占满容器宽度 */ + width: auto !important; /* 允许根据内容自动扩展宽度 */ + overflow-x: auto !important; /* 强制显示横向滚动条 */ + padding-right: 8px; + padding-bottom: 8px; /* 避免内容被横向滚动条遮挡 */ +} + .el-tree-node__children{ overflow:auto; } .el-tree-node__content { - max-width: 280px; + max-width: none !important; /* 取消最大宽度限制 */ + width: auto !important; /* 允许内容撑开宽度 */ + overflow: visible !important; + /* max-width: 280px; height: 30px; - overflow: auto; + overflow: auto; */ } .el-tree-node__content span div{ /* overflow: auto; */ @@ -879,18 +897,49 @@ button:hover { } /* 针对树形组件容器添加横向滚动支持 */ .tree-container { - /* 限制容器最大宽度(可根据实际布局调整) */ - width: 100%; - height:calc(100% - 90px); - overflow-x: hidden; /* 横向溢出时显示滚动条 */ - padding-bottom: 0; /* 预留底部空间,避免滚动条遮挡内容 */ + /* 保留现有样式,添加高度限制 */ + height: calc(100% - 40px); /* 减去标题高度(根据实际调整) */ + overflow: hidden; /* 避免容器自身滚动 */ +} +/* 添加以下样式 */ +.el-scrollbar { + /* 让滚动条占满容器剩余高度 */ + height: calc(100% - 80px); /* 36px 为 navTitle 的大致高度 */ + display: block; /* 确保高度生效 */ +} + +/* 调整树形组件高度,使其在滚动区域内 */ +.elTree { + max-height: 100% !important; /* 覆盖原有 max-height,使用滚动条高度 */ + height: 100% !important; +} +/* 修复滚动条容器的隐藏问题 */ +.el-scrollbar__wrap { + overflow-x: auto !important; + overflow-y: auto !important; + margin-right: -17px; /* 补偿滚动条宽度,避免内容被截断 */ + margin-bottom: -17px; +} + +/* 确保滚动条轨道可见 */ +.el-scrollbar__track { + background: rgba(0, 0, 0, 0.05); +} + +.el-scrollbar__thumb { + background: rgba(0, 0, 0, 0.2); + border-radius: 4px; } /* 确保树形组件本身不限制宽度,让内容能撑开容器 */ .elTree { - min-width: 100%; /* 至少占满容器宽度 */ - display: inline-block; /* 让树组件宽度由内容决定 */ - white-space: nowrap; /* 防止节点内容自动换行 */ +/* + min-width: 100%; + display: inline-block; / + white-space: nowrap; */ + max-height: calc(100% - 38px); + overflow: visible !important; /* 避免覆盖滚动条 */ + padding-right: 8px; } /* 优化节点文本显示,避免过长文本被截断 */ @@ -1095,7 +1144,10 @@ button:hover { text-align: left !important; } .navTitle{ - position: relative; + position: relative; /* 保持在文档流中 */ + z-index: 10; /* 避免被树形组件遮挡 */ + padding-bottom: 8px; /* 与树形组件保持间距 */ + border-bottom: 1px solid #f0f0f0; /* 可选:添加分隔线 */ } .navTitle p { margin: 0; @@ -1107,10 +1159,10 @@ button:hover { /* 可选样式 */ } .iconImgMulu{ - position: absolute; - right: 0; - /* bottom: 0; */ - top: 7px; + position: absolute; + right: 10px; + bottom: 0; + top: 0; margin: auto; height: 20px; cursor: pointer; diff --git a/src/assets/img/zw.jpg b/src/assets/img/zw.jpg new file mode 100644 index 0000000000000000000000000000000000000000..13776ef60594d8682813a0e177f931a6a17dc12e GIT binary patch literal 24985 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 literal 0 HcmV?d00001 diff --git a/src/components/wang.vue b/src/components/wang.vue index 3417cb4..a61a3ef 100644 --- a/src/components/wang.vue +++ b/src/components/wang.vue @@ -1,17 +1,17 @@ + + + - -
+ + +
{{getBookName}}
+
- +
+ +
请加载有需编辑的项目
+ + +
+

目标容器: {{ countTarget }}

+

总DOM节点数量: {{ domCount }}

+

元素节点数量: {{ elementCount }}

+

文本节点数量: {{ textCount }}

+

注释节点数量: {{ commentCount }}

+
+ + 关闭 + +
+ 修改 -
@@ -518,11 +545,20 @@ import WangEditor from 'wangeditor'; import brImg from '../assets/img/br.png'; import '../assets/css/style.css' export default { - name: 'RichTextEditor', + name: 'WangEditor', components: { }, data() { return { + countDialogVisible: false, + domCount: 0, + elementCount: 0, + textCount: 0, + commentCount: 0, + countTarget: '', + leftWidth: 380, + isDragging: false, + isLoadMsg:false, minLevel:'', maxLevel:'', maxPermission:'', @@ -903,19 +939,20 @@ export default { currentImage: '',//暂无用 scale: 1,//暂无用 rotation: 0,//暂无用 - isDragging: false,//暂无用 startX: 0,//暂无用 startY: 0,//暂无用 translateX: 0,//暂无用 translateY: 0,//暂无用 containerHeight: '90vh', //暂无用 动态控制高度 //查看图片end - oldSelector:[//基础标签模块 - 'div','code','hr','br','h1,h2,h3,h4','p','img','table','a','ul','ol','blockquote','pre', - ], - newSelector:[//替换后的标签模块 - 'pDiv','pCode','pHr','pBr','pTitle','pDiv','pImg','pTable','pA','pUl','pOl','pBlockquote','pPre', - ], + // oldSelector:[//基础标签模块 + // 'div','code','hr','br','h1,h2,h3,h4','p','img','table','a','ul','ol','blockquote','pre', + // ], + // newSelector:[//替换后的标签模块 + // 'pDiv','pCode','pHr','pBr','pTitle','pDiv','pImg','pTable','pA','pUl','pOl','pBlockquote','pPre', + // ], + newSelector:[], + oldSelector:[], tempDivData:{//当前富文本str innerHTML:'五' }, @@ -1039,7 +1076,7 @@ export default { //接收富文本内容信息 FrontLoadDM_g1(e) { console.log("加载文档数据 1111") - console.log('FrontLoadDM 参数接收111:',e,e.detail) + // console.log('FrontLoadDM 参数接收111:',e,e.detail) // this.editorShow = true; let xmlContent = e.detail.trim(); @@ -1054,10 +1091,10 @@ export default { // console.log("xmlContent",xmlContent) const parser = new DOMParser() const xmlDoc = parser.parseFromString(xmlContent, "text/xml") - console.log("xmlDoc",xmlDoc) + // console.log("xmlDoc",xmlDoc) const contentNodes = xmlDoc.getElementsByTagName('content')[0]; - console.log("xmlDoc.getElementsByTagName('content')",xmlDoc.getElementsByTagName('content')) - console.log("contentNodes",contentNodes) + // console.log("xmlDoc.getElementsByTagName('content')",xmlDoc.getElementsByTagName('content')) + // console.log("contentNodes",contentNodes) const rdfDescription = xmlDoc.querySelector('rdf\\:Description, Description'); @@ -1076,7 +1113,7 @@ export default { qualityVerification: this.getNodeValue(rdfDescription, 'dc\\:qualityVerification, qualityVerification'), permission: this.getNodeValue(rdfDescription, 'dc\\:permission, permission') }; - console.log('XML解析成功', this.form); + // console.log('XML解析成功', this.form); }else{ this.form = { name: '', @@ -1092,10 +1129,10 @@ export default { console.log("目录解析不成功 置空",this.form) } if (contentNodes) { - console.log("处理前",contentNodes.innerHTML) + // console.log("处理前",contentNodes.innerHTML) let htmlContent = this.convertXmlContentToHtml(contentNodes.innerHTML) let htmlContent2 = this.completeModel3DTags(htmlContent) - console.log("处理后",htmlContent2) + // console.log("处理后",htmlContent2) const htmlContent3 = this.replaceModel3dToImg(htmlContent2); // this.editor.txt.html(htmlContent) //处理过后再导入 @@ -1481,7 +1518,7 @@ export default { if(src){ const imgUrl = src?src:'http://localhost:5432/DM_Material/a1.jpg'; console.log("地址",src,imgUrl) - this.editor.cmd.do('insertHTML', `图片`) + this.editor.cmd.do('insertHTML', `图片`) } } }, @@ -1509,55 +1546,7 @@ export default { // 替换标签名,保留所有属性 return htmlString.replace(regex, ''); }, - - - // // 插入视频 - // insertVideo() { - // // const videoUrl = 'http://youneed.top:10017/uploads/video.mp4' - // const videoUrl = 'https://r1.realme.net/general/20250530/17485780109181ed6767541a64e7d90626e0a3fd1aaae.mp4?type=video/mp4'; - // const videoId = `video-${Date.now()}` - - // // 创建视频HTML - // const videoHtml = ` - //
- // - // - //
- //


- // ` - - // // 使用编辑器命令插入 - // this.editor.cmd.do('insertHTML', videoHtml) - - // // 添加删除事件监听 - - // this.$nextTick(() => { - // const btn = document.querySelector(`button[data-video-id="${videoId}"]`) - // if (btn) { - // btn.onclick = (e) => { - // e.preventDefault() - // this.deleteVideoById(videoId) - // } - // } - // }) - - - // }, - - - - // // 根据ID删除视频(修正版) - // deleteVideoById(videoId) { - // const container = document.querySelector(`.video-container[data-video-id="${videoId}"]`) - // if (container) { - // container.remove() - // this.editor.txt.html(this.editor.txt.html()) // 刷新编辑器 - // } - // }, + dmcTable() { if(this.dmcHint){ this.dmcHint = false; @@ -2537,18 +2526,23 @@ export default { //富文本内容打标签 dataXmlProcessing(type,saveId) { - let html = this.editor.txt.html() - console.log('保存内容',html); - // 正则表达式:匹配img、audio、video标签的src属性 - // 支持三种标签: