|
@@ -353,7 +353,7 @@ export default {
|
|
selectedBoundTemplates: [], // 新增:已选择的绑定模版
|
|
selectedBoundTemplates: [], // 新增:已选择的绑定模版
|
|
batchReplaceLoading: false, // 新增:批量替换loading状态
|
|
batchReplaceLoading: false, // 新增:批量替换loading状态
|
|
getstatusList: [], //状态列表
|
|
getstatusList: [], //状态列表
|
|
- customList: [], //客户列表
|
|
|
|
|
|
+ customList: [], //客户列��
|
|
productList: [], //产品列表
|
|
productList: [], //产品列表
|
|
currentPhaseList: [], //阶段列表
|
|
currentPhaseList: [], //阶段列表
|
|
selectedTemplateIds: new Set(), // 新增: 用于存储所有已选择的模版ID
|
|
selectedTemplateIds: new Set(), // 新增: 用于存储所有已选择的模版ID
|
|
@@ -428,7 +428,7 @@ export default {
|
|
const templateSection = document.createElement("div");
|
|
const templateSection = document.createElement("div");
|
|
templateSection.className = "template-textarea";
|
|
templateSection.className = "template-textarea";
|
|
|
|
|
|
- // 创建临时div用于处理HTML内容
|
|
|
|
|
|
+ // 创��临时div用于处理HTML内容
|
|
const tempDiv = document.createElement("div");
|
|
const tempDiv = document.createElement("div");
|
|
tempDiv.innerHTML = item.content;
|
|
tempDiv.innerHTML = item.content;
|
|
|
|
|
|
@@ -439,6 +439,10 @@ export default {
|
|
const span = spans[i];
|
|
const span = spans[i];
|
|
if (span.firstElementChild && span.firstElementChild.tagName === 'SPAN') {
|
|
if (span.firstElementChild && span.firstElementChild.tagName === 'SPAN') {
|
|
const childSpan = span.firstElementChild;
|
|
const childSpan = span.firstElementChild;
|
|
|
|
+
|
|
|
|
+ // 保存span中的所有内容
|
|
|
|
+ const spanContent = span.innerHTML;
|
|
|
|
+
|
|
// 合并样式
|
|
// 合并样式
|
|
const parentStyle = span.getAttribute('style') || '';
|
|
const parentStyle = span.getAttribute('style') || '';
|
|
const childStyle = childSpan.getAttribute('style') || '';
|
|
const childStyle = childSpan.getAttribute('style') || '';
|
|
@@ -449,7 +453,9 @@ export default {
|
|
.filter(s => s.trim())
|
|
.filter(s => s.trim())
|
|
.forEach(s => {
|
|
.forEach(s => {
|
|
const [key, value] = s.split(':').map(s => s.trim());
|
|
const [key, value] = s.split(':').map(s => s.trim());
|
|
- styleMap[key] = value;
|
|
|
|
|
|
+ if (key && value) {
|
|
|
|
+ styleMap[key] = value;
|
|
|
|
+ }
|
|
});
|
|
});
|
|
|
|
|
|
// 创建新的样式字符串
|
|
// 创建新的样式字符串
|
|
@@ -457,15 +463,32 @@ export default {
|
|
.map(([key, value]) => `${key}: ${value}`)
|
|
.map(([key, value]) => `${key}: ${value}`)
|
|
.join('; ');
|
|
.join('; ');
|
|
|
|
|
|
- // 创建新的span元素
|
|
|
|
|
|
+ // 创建新的span元素并保留所有内容
|
|
const newSpan = document.createElement('span');
|
|
const newSpan = document.createElement('span');
|
|
newSpan.setAttribute('style', mergedStyle);
|
|
newSpan.setAttribute('style', mergedStyle);
|
|
- newSpan.innerHTML = childSpan.innerHTML;
|
|
|
|
|
|
|
|
- // 替换原始嵌套标签
|
|
|
|
|
|
+ // 使用原始的innerHTML内容
|
|
|
|
+ newSpan.innerHTML = spanContent;
|
|
|
|
+
|
|
|
|
+ // 处理strong标签和其他特殊标签
|
|
|
|
+ const strongTags = newSpan.getElementsByTagName('strong');
|
|
|
|
+ for (const strongTag of strongTags) {
|
|
|
|
+ strongTag.style.fontWeight = 'bold';
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ // 替换原始标签
|
|
span.parentNode.replaceChild(newSpan, span);
|
|
span.parentNode.replaceChild(newSpan, span);
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
+
|
|
|
|
+ // 清理可能的空span标签
|
|
|
|
+ const allSpans = element.getElementsByTagName('span');
|
|
|
|
+ for (let i = allSpans.length - 1; i >= 0; i--) {
|
|
|
|
+ const span = allSpans[i];
|
|
|
|
+ if (!span.textContent.trim() && !span.querySelector('img')) {
|
|
|
|
+ span.parentNode.removeChild(span);
|
|
|
|
+ }
|
|
|
|
+ }
|
|
};
|
|
};
|
|
|
|
|
|
// 处理所有表格
|
|
// 处理所有表格
|
|
@@ -808,7 +831,7 @@ export default {
|
|
});
|
|
});
|
|
},
|
|
},
|
|
|
|
|
|
- // 添加新的辅助方法来判断文档类型
|
|
|
|
|
|
+ // 添加��的辅助方法来判断文档类型
|
|
getDocumentType(code) {
|
|
getDocumentType(code) {
|
|
if (code.includes("-RP-")) return "template_location";
|
|
if (code.includes("-RP-")) return "template_location";
|
|
if (code.includes("-IR-")) return "middle_layer_location";
|
|
if (code.includes("-IR-")) return "middle_layer_location";
|
|
@@ -1375,7 +1398,7 @@ export default {
|
|
// 如果之前是全选状态,现在取消了某些选择
|
|
// 如果之前是全选状态,现在取消了某些选择
|
|
if (this.isAllSelected && selection.length < this.templateList.length) {
|
|
if (this.isAllSelected && selection.length < this.templateList.length) {
|
|
this.isAllSelected = false;
|
|
this.isAllSelected = false;
|
|
- // 保留其���页面的选择和已绑定的模版
|
|
|
|
|
|
+ // 保留其页面的选择和已绑定的模版
|
|
const allSelectedIds = new Set(this.currentData.documentIds || []);
|
|
const allSelectedIds = new Set(this.currentData.documentIds || []);
|
|
this.selectedPageIds.forEach((pageIds, page) => {
|
|
this.selectedPageIds.forEach((pageIds, page) => {
|
|
if (page !== currentPage) {
|
|
if (page !== currentPage) {
|
|
@@ -1647,7 +1670,7 @@ export default {
|
|
})
|
|
})
|
|
.catch((error) => {
|
|
.catch((error) => {
|
|
console.error("获取模版位置信息失败:", error);
|
|
console.error("获取模版位置信息失败:", error);
|
|
- this.$message.error("获取模版位置信��失败");
|
|
|
|
|
|
+ this.$message.error("获取模版位置信失败");
|
|
});
|
|
});
|
|
},
|
|
},
|
|
/* 产品类别名称 */
|
|
/* 产品类别名称 */
|