From 4345926d07729480b0c42ea2a420a29200a1f339 Mon Sep 17 00:00:00 2001 From: lion <120344285@qq.com> Date: Fri, 29 Nov 2024 15:43:41 +0800 Subject: [PATCH] =?UTF-8?q?=E6=9B=B4=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/components/XyTinymce/index.vue | 16 +- src/components/wangEditor/index.vue | 30 +- src/components/wangEditor/register.js | 129 +++++---- src/mixin/product.js | 4 +- src/styles/iconfont.css | 124 ++++---- src/styles/iconfont.ttf | Bin 8592 -> 10712 bytes src/styles/iconfont.woff | Bin 4732 -> 6724 bytes src/styles/iconfont.woff2 | Bin 3932 -> 5620 bytes src/utils/common.js | 13 + src/views/application/components/addNotes.vue | 11 +- .../product/components/addApplication.vue | 3 +- src/views/product/components/addCategory.vue | 46 ++- src/views/product/components/addPhase.vue | 264 ++++++++++-------- src/views/product/components/addProduct.vue | 76 +++-- src/views/product/index.vue | 100 ++++--- src/views/resource/components/addFaq.vue | 4 +- src/views/resource/components/addFiles.vue | 3 +- src/views/resource/components/addWebinar.vue | 4 +- vue.config.js | 2 +- 19 files changed, 502 insertions(+), 327 deletions(-) diff --git a/src/components/XyTinymce/index.vue b/src/components/XyTinymce/index.vue index eb2dda5..1d4c894 100644 --- a/src/components/XyTinymce/index.vue +++ b/src/components/XyTinymce/index.vue @@ -49,12 +49,14 @@ default: false, }, plugins: { - type: [String, Array], - default: "code image axupimgs paste preview searchreplace autolink directionality visualblocks visualchars fullscreen template codesample table charmap hr pagebreak nonbreaking anchor insertdatetime advlist lists wordcount imagetools textpattern help emoticons autosave ", + type: [String, Array], + // axupimgs 多图上传 + default: "code image paste preview searchreplace autolink directionality visualblocks visualchars fullscreen template codesample table charmap hr pagebreak nonbreaking anchor insertdatetime advlist lists wordcount imagetools textpattern help emoticons autosave ", }, toolbar: { - type: [String, Array], - default: ` undo redo restoredraft | code | image | axupimgs | imagetools | assignment | cut copy paste pastetext | forecolor backcolor bold italic underline strikethrough anchor | alignleft aligncenter alignright alignjustify outdent indent | + type: [String, Array], + // axupimgs 多图上传 + default: ` undo redo restoredraft | code | image | imagetools | assignment | cut copy paste pastetext | forecolor backcolor bold italic underline strikethrough anchor | alignleft aligncenter alignright alignjustify outdent indent | styleselect formatselect fontselect fontsizeselect | table charmap emoticons hr pagebreak | bullist numlist | blockquote subscript superscript removeformat | insertdatetime print preview | fullscreen | bdmap indent2em lineheight formatpainter`, }, @@ -69,8 +71,8 @@ showImg: false, imgUploadUrl: `${process.env.VUE_APP_UPLOAD_API}`, init: { - language_url: "/public/tinymce/langs/zh_CN.js", // 这里需要单独处理 - language: "zh_CN", + // language_url: "/public/tinymce/langs/zh_CN.js", // 这里需要单独处理 + // language: "zh_CN", height: this.height, plugins: this.plugins, fontsize_formats: "8px 10px 12px 14px 16px 18px 24px 28px 36px", @@ -92,7 +94,7 @@ let file = blobInfo.blob(); const isLt2M = file.size / 1024 < 2048; if (!isLt2M) { - failure("上传失败,图片不可超过2M!"); + failure("Upload failed, the image cannot exceed 2M"); return false; } let formdate = new FormData(); diff --git a/src/components/wangEditor/index.vue b/src/components/wangEditor/index.vue index 30d80f4..bed889a 100644 --- a/src/components/wangEditor/index.vue +++ b/src/components/wangEditor/index.vue @@ -108,17 +108,27 @@ methods: { // 源码模式点击事件 clickSource(active, editor) { - let value = editor.getHtml(); + let value = this.editor.getHtml(); + console.log("getHtml",value) // 先将编辑器内容清空 this.editor.clear(); if (active) { - // 将html代码转换为html代码块 dangerouslyInsertHtml是插入html不是重置html - this.editor.dangerouslyInsertHtml(parseEditorCode(value)); + // 将html代码转换为html代码块 dangerouslyInsertHtml是插入html不是重置html + + value = parseEditorCode(value) + console.log("active",value) + this.editor.dangerouslyInsertHtml(value); + this.html = value + } else { - // 将html代码块转换为editor的html - this.editor.dangerouslyInsertHtml(parseCodeEditor(value)); - // console.log("parseCodeEditor(value)", parseCodeEditor(value)) - value = parseCodeEditor(value); + // 将html代码块转换为editor的html + + value = parseCodeEditor(value) + console.log("else", value) + this.editor.dangerouslyInsertHtml(value); + // value = parseCodeEditor(value); + console.log("nowHtml",parseCodeEditor(this.editor.getHtml())) + this.html = value } }, onCreated(editor) { @@ -133,8 +143,10 @@ onChange() { const text = this.editor.getText(); // 计算当前输入了多少文字 - this.useLen = (text || '').length; - // 每次富文本内容改变,触发change事件 + this.useLen = (text || '').length; + let value = this.editor.getHtml(); + // 每次富文本内容改变,触发change事件 + console.log("this.html",value) this.$emit('change', this.html); }, diff --git a/src/components/wangEditor/register.js b/src/components/wangEditor/register.js index 87ffa9c..1035533 100644 --- a/src/components/wangEditor/register.js +++ b/src/components/wangEditor/register.js @@ -1,65 +1,72 @@ -import SourceMenu from "./sourceMenu.js"; -import prettier from 'prettier/standalone'; -import parserHtml from 'prettier/parser-html'; - -/** - * 在编辑器中得到的html源码是没有格式的html字符串 - * 所以需要格式化展示代码 - * 格式化html代码 - */ -export const parserHtmlCode = (code) => { - try { - return prettier.format(code, { - parser: 'html', - plugins: [parserHtml], - // 格式化的标签不换行 例如span标签等>格式化后会换行 - htmlWhitespaceSensitivity: 'ignore' - }); - } catch (e) { - console.error('格式化代码错误', e); - return code; - } -} - -/** - * 将编辑器html转换为代码块内容 - */ -export const parseEditorCode = (html) => { - const code = html - .replace(/ /g, '') - .replace(new RegExp('


', 'g'), ''); - const data = parserHtmlCode(code).trim(); - const textCode = data - .replace(//g, ">") +import SourceMenu from "./sourceMenu.js"; +import prettier from 'prettier/standalone'; +import parserHtml from 'prettier/parser-html'; + +/** + * 在编辑器中得到的html源码是没有格式的html字符串 + * 所以需要格式化展示代码 + * 格式化html代码 + */ +export const parserHtmlCode = (code) => { + try { + return prettier.format(code, { + parser: 'html', + plugins: [parserHtml], + // 格式化的标签不换行 例如span标签等>格式化后会换行 + htmlWhitespaceSensitivity: 'ignore' + }); + } catch (e) { + console.error('格式化代码错误', e); + return code; + } +} + +/** + * 将编辑器html转换为代码块内容 + */ +export const parseEditorCode = (html) => { + const code = html + .replace(/ /g, '') + .replace(new RegExp('


', 'g'), ''); + const data = parserHtmlCode(code).trim(); + const textCode = data + .replace(//g, ">") .replace(/ /g, " "); - return `
${textCode}
`; -} -/** - * 将代码块转换为编辑器html - */ -export const parseCodeEditor = (preCode) => { - // 转码 - let data = encodeURI(preCode); - // 将 转换为空格 - data = data.replace(/%C2%A0/g, '%20'); - // 解码 - data = decodeURI(data); - const htmlStr = data - .replace('
', '')
-    .replace('
', '') - .replace(/</ig, "<") + console.log("textcode",textCode) + return `
${textCode}
`; + // return `${textCode}`; +} + +/** + * 将代码块转换为编辑器html + */ +export const parseCodeEditor = (preCode) => { + // 转码 + let data = encodeURI(preCode); + // 将 转换为空格 + data = data.replace(/%C2%A0/g, '%20'); + // 解码 + data = decodeURI(data); + const htmlStr = data + .replace('
', '')
+    .replace('
', '') + .replace(/</ig, "<") .replace(/>/ig, ">"); - return htmlStr - .replace(new RegExp('\\n', 'g'), '') - .replace(new RegExp('


', 'g'), '') - .trim(); -} - -export const sourceConf = { - // 工具栏中的唯一key - key: 'source', - // 组件 - factory: () => new SourceMenu() + console.log("htmlStr",htmlStr + .replace(new RegExp('\\n', 'g'), '') + .replace(new RegExp('


', 'g'), '') + .trim()) + return htmlStr + .replace(new RegExp('\\n', 'g'), '') + .replace(new RegExp('


', 'g'), '') + .trim(); +} + +export const sourceConf = { + // 工具栏中的唯一key + key: 'source', + // 组件 + factory: () => new SourceMenu() }; diff --git a/src/mixin/product.js b/src/mixin/product.js index 4027135..6819208 100644 --- a/src/mixin/product.js +++ b/src/mixin/product.js @@ -9,11 +9,11 @@ export default { } }, created() { - this.getProductList() + this.getProductParaList() }, methods: { // 获取产品参数 有detail的下拉,没有的填写 - async getProductList(){ + async getProductParaList(){ const res = await listparameter({ page: 1, page_size: 999, diff --git a/src/styles/iconfont.css b/src/styles/iconfont.css index 9f6fdb2..a82e8b4 100644 --- a/src/styles/iconfont.css +++ b/src/styles/iconfont.css @@ -1,8 +1,8 @@ @font-face { - font-family: "iconfont"; /* Project id 4052909 */ - src: url('iconfont.woff2?t=1683361610626') format('woff2'), - url('iconfont.woff?t=1683361610626') format('woff'), - url('iconfont.ttf?t=1683361610626') format('truetype'); + font-family: "iconfont"; /* Project id 4764550 */ + src: url('iconfont.woff2?t=1732857913289') format('woff2'), + url('iconfont.woff?t=1732857913289') format('woff'), + url('iconfont.ttf?t=1732857913289') format('truetype'); } .iconfont { @@ -13,107 +13,119 @@ -moz-osx-font-smoothing: grayscale; } -.icon-jurassic_process-list:before { - content: "\e6c4"; +.icon-product:before { + content: "\e611"; } -.icon-biaodan:before { - content: "\e663"; +.icon-icon_note:before { + content: "\e64c"; } -.icon-biaozhunhuaguizeguanli:before { - content: "\e60a"; +.icon-zixunguanli:before { + content: "\e610"; } -.icon-a-zhidu6:before { - content: "\eb07"; +.icon-application-parameters:before { + content: "\e642"; } -.icon-dat:before { - content: "\e691"; +.icon-chanpinxuanze:before { + content: "\e6ca"; } -.icon-audio:before { - content: "\e692"; +.icon-chanpincanshu:before { + content: "\e600"; } -.icon-video:before { - content: "\e693"; +.icon-fangwenjilu:before { + content: "\e602"; } -.icon-zip:before { - content: "\e694"; +.icon-liuyan:before { + content: "\e627"; } -.icon-image:before { - content: "\e695"; +.icon-xuanze:before { + content: "\e68b"; } -.icon-pdf:before { - content: "\e696"; +.icon-phase:before { + content: "\e620"; } -.icon-ppt:before { - content: "\e697"; +.icon-yonghuzhongxin:before { + content: "\e68c"; } -.icon-21excel:before { - content: "\e698"; +.icon-dingdan:before { + content: "\e897"; } -.icon-21word:before { - content: "\e699"; +.icon-dingdanjihe:before { + content: "\e898"; } -.icon-21move:before { - content: "\e69a"; +.icon-Usermanuals:before { + content: "\e607"; } -.icon-21setting:before { - content: "\e69b"; +.icon-interact:before { + content: "\e86a"; } -.icon-21upload:before { - content: "\e69c"; +.icon-application:before { + content: "\e88a"; } -.icon-21download:before { - content: "\e69d"; +.icon-gonggongshiye:before { + content: "\e613"; } -.icon-21cancel:before { - content: "\e69e"; +.icon-ziyuanguanli:before { + content: "\e770"; } -.icon-21ok:before { - content: "\e69f"; +.icon--Faq:before { + content: "\e60e"; } -.icon-21copy:before { - content: "\e6a0"; +.icon-mulu:before { + content: "\e60f"; } -.icon-21delete:before { - content: "\e6a1"; +.icon-yonghuliebiao:before { + content: "\e7f1"; } -.icon-21edit:before { - content: "\e6a2"; +.icon-webinar:before { + content: "\ec3c"; } -.icon-21new:before { - content: "\e6a3"; +.icon-longzishuxing:before { + content: "\e601"; } -.icon-21folder:before { - content: "\e6a4"; +.icon-chanpinfenlei:before { + content: "\e656"; } -.icon-21mutil:before { - content: "\e6a5"; +.icon-canshuguanli:before { + content: "\e640"; } -.icon-21file:before { - content: "\e6a6"; +.icon-chanpinzhongxin:before { + content: "\e603"; +} + +.icon-ic_flyer:before { + content: "\e60b"; +} + +.icon-market-poster:before { + content: "\e7a7"; +} + +.icon-yingyongfenlei:before { + content: "\e6fb"; } diff --git a/src/styles/iconfont.ttf b/src/styles/iconfont.ttf index 4e2970e9481479674d3fd3fe1923b0855b82f8a8..1463f410659f9b65cff0b3afd4f6a80714e27900 100644 GIT binary patch literal 10712 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 diff --git a/src/styles/iconfont.woff2 b/src/styles/iconfont.woff2 index 0c051c5ab3470996d1f5754273d853b9fee30e9d..885ba6ae52dc6983ecd77c0567870a6bc127ffbf 100644 GIT binary patch literal 5620 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 O+Bk3~TKI6M0{{R>V66-Q literal 3932 zcmV-i52NsRPew8T0RR9101sRM3jhEB03nb701pfR0RR9100000000000000000000 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 diff --git a/src/utils/common.js b/src/utils/common.js index 5a0712d..6cce6c8 100644 --- a/src/utils/common.js +++ b/src/utils/common.js @@ -25,6 +25,19 @@ let base = { isUrl (url) { return this.checkUrl(url) }, + // 判断数组中 是否有相同的 项 + findDuplicateKeys(arr, key) { + const seen = new Set(); + const duplicates = new Set(); + for (const item of arr) { + if (seen.has(item[key])) { + duplicates.add(item[key]); // 添加重复的key值 + } else { + seen.add(item[key]); + } + } + return Array.from(duplicates); // 将Set转换为数组并返回 + }, checkUrl (url) { // url= 协议://(ftp的登录信息)[IP|域名](:端口号)(/或?请求参数) var strRegex = diff --git a/src/views/application/components/addNotes.vue b/src/views/application/components/addNotes.vue index 62e83c2..cdb4fb6 100644 --- a/src/views/application/components/addNotes.vue +++ b/src/views/application/components/addNotes.vue @@ -181,7 +181,6 @@ filesList: [], appCategoryList: [], productCategoryList:[], - showWang: false, detail_item: [{ type: 'index', width: 50 @@ -236,9 +235,6 @@ } this.filesList = fileList }, - changeEditor(e) { - this.form.content = e - }, addRow() { var len = this.form.application_details.length; this.form.application_details.push({ @@ -300,9 +296,7 @@ show_relation: ['applicationDetails'] }).then(res => { this.form = this.base.requestToForm(res, this.form) - this.form.content = res.content ? res.content : '' - this.form.application_details = res.application_details ? res.application_details : [], - this.showWang = true + this.form.application_details = res.application_details ? res.application_details : [] if (res.files && res.files.length > 0) { this.filesList = [] res.files.map(item => { @@ -322,11 +316,9 @@ if (this.type === 'editor') { this.getDetail() } - this.showWang = true } else { this.id = '' this.filesList = [] - this.showWang = false this.form = { application_type_id: '', category_id:[], @@ -349,7 +341,6 @@