();
+
const valueHtml = computed({
get() {
return props.value;
@@ -112,7 +127,6 @@ props.editorConfig.MENU_CONF!["uploadImage"] = {
const result = await uploadImg(formData, routerName.value);
if (result?.code === 0) {
const { data } = result;
- console.log(data, "==============data====================");
insertFn(import.meta.env.VITE_APP_API_BASE_UPLOAD_URL + data.path);
}
} catch (error) {
diff --git a/src/components/WangEditor/text.txt b/src/components/WangEditor/text.txt
new file mode 100644
index 0000000..bf1f407
--- /dev/null
+++ b/src/components/WangEditor/text.txt
@@ -0,0 +1 @@
+"\r\n\t拿到产品后我该如何安装使用 \r\n
\r\n\r\n\t1. 下载安装赛博云空间 \r\n
\r\n\r\n\t(1)Android 移动客户端下载 \r\n
\r\n\r\n\t手机扫一扫,进入下载页,选择安卓客户端.apk文件,下载【赛博云空间】APP。 \r\n
\r\n\r\n\t也可前往手机应用商店搜索“赛博云空间”进行下载(目前已安排在鸿蒙4.0、小米、OPPO、vivo应用商店上架)。 \r\n
\r\n\r\n\t
\r\n \r\n
\r\n\r\n\t
\r\n
\r\n\r\n\t(2)Windows, macOS, iOS, TV 客户端下载 \r\n
\r\n\r\n\t点击链接进入ORICO官网下载即可。(苹果用户也可直接在AppStore搜索“赛博云空间”获取安装)。 \r\n
\r\n\r\n\t
\r\n \r\n
\r\n\r\n\t
\r\n
\r\n\r\n\t
\r\n \r\n
\r\n注:部分浏览器下载好的安装包会有告警提示,点击右边的“...”选择“保留”,即可完成客户端安装。
\r\n \r\n\r\n\t
\r\n
\r\n\r\n\t
\r\n
\r\n\r\n\t \r\n
\r\n\r\n\t
\r\n \r\n
\r\n\r\n\t \r\n
\r\n\r\n\t3. 设备绑定与初始化设备 \r\n
\r\n\r\n\t(1)设备绑定 \r\n
\r\n\r\n\t以下操作仅适用作为第一个绑定设备的管理员机主身份操作;
\r\n如果是别人分享的设备,请参阅教程如何将我的NAS设备分享给他人使用? \r\n
\r\n\r\n\t① 发现新设备 \r\n
\r\n\r\n\t运行PC客户端(名称:赛博云空间 ),会显示“您还没有绑定设备”,可点击“绑定新设备”进行绑定。 \r\n
\r\n\r\n\t客户端会通过局域网扫描发现NAS设备。 \r\n
\r\n\r\n\t
\r\n
\r\n\r\n\t②绑定成功 \r\n
\r\n\r\n\t点击搜索到的NAS设备 ,即会提示“设备绑定成功”。(注意:请确保电脑和NAS设备在同一局域网,才可发现到设备。)\r\n
\r\n\r\n\t
\r\n
\r\n\r\n\t \r\n
\r\n\r\n\t
\r\n
\r\n\r\n\t \r\n
\r\n\r\n\t(2)初始化设备/格式化硬盘 \r\n
\r\n\r\n\t完成设备绑定后,会自动跳转到初始化设备入口。\r\n
\r\n\r\n\t① 检测更新 \r\n
\r\n\r\n\t完成设备绑定后,客户端会自行检测系统更新,若有更新需要下载安装后才可进行下一步的初始化设备操作。 \r\n
\r\n\r\n\t
\r\n
\r\n\r\n\t
\r\n\r\n
\r\n\r\n\t② 初始化设备 \r\n
\r\n\r\n\t安装完更新后进入到初始化系统池设置,点击初始化设备(默认选择 简单模式 ),点击“下一步”。 \r\n
\r\n\r\n\t
\r\n
\r\n\r\n\t
\r\n\r\n
\r\n\r\n\t③ 设置阵列 \r\n
\r\n\r\n\t勾选需加入系统池的磁盘(默认全勾选) , 根据需求选择需要的 磁盘阵列模式。点击“下一步”。 \r\n
\r\n\r\n\t
\r\n
\r\n\r\n\t④ 确认执行 \r\n
\r\n\r\n\t最终确认初始化操作及风险,点击“确认”执行初始化操作,等待完成即可。设备初始化成功后,会弹窗提示,引导用户完成账户注册使用。\r\n
\r\n\r\n\t
\r\n
\r\n\r\n\t
\r\n
\r\n\r\n\t \r\n
\r\n\r\n\t4. 账户注册与登录 \r\n
\r\n\r\n\t初次使用客户端,需先绑定设备才能注册账户\r\n
\r\n\r\n\t(1)开始注册 \r\n
\r\n\r\n\t完成设备绑定之后,返回到客户端登录页面,点击“注册”,即进入账户注册流程。 \r\n
\r\n\r\n\t
\r\n
\r\n\r\n\t(2)绑定手机号或邮箱 \r\n
\r\n\r\n\t输入账户名和密码,绑定手机号或邮箱验证,便于忘记密码时找回密码和重置密码。 \r\n
\r\n\r\n\t验证成功后,点击“注册”, 注册成功会弹出提示。 \r\n
\r\n\r\n\t
\r\n
\r\n\r\n\t \r\n
\r\n\r\n\t(3)账户登录 \r\n
\r\n\r\n\t完成账户注册后,会自动返回到客户端登录页面。输入账户名和密码,点击“登录”即可。 \r\n
\r\n\r\n\t
\r\n
"
diff --git a/src/components/rulesForm/index.vue b/src/components/rulesForm/index.vue
index 4757de6..04cbf46 100644
--- a/src/components/rulesForm/index.vue
+++ b/src/components/rulesForm/index.vue
@@ -178,7 +178,7 @@
-
+
@@ -189,6 +189,7 @@
import type { FormInstance, FormRules } from "element-plus";
import UploadVideo from "@/components/Upload/UploadVideo.vue";
import UploadImg from "@/components/Upload/UploadImg.vue";
+import Editor from "@/components/Editor/index.vue";
interface IProps {
ruleForm: { [key: string]: any };
formData: any[];
diff --git a/src/main.ts b/src/main.ts
index e038195..9763ab9 100644
--- a/src/main.ts
+++ b/src/main.ts
@@ -33,8 +33,10 @@ import errorHandler from "@/utils/errorHandler";
import VXETable from "vxe-table";
import "vxe-table/lib/style.css";
+import mavonEditor from "mavon-editor";
+import "mavon-editor/dist/css/index.css";
const app = createApp(App);
app.config.errorHandler = errorHandler;
-app.use(directives).use(router).use(pinia).use(VXETable).mount("#app");
+app.use(directives).use(router).use(pinia).use(VXETable).use(mavonEditor).mount("#app");
diff --git a/src/utils/convertSpanToDiv.ts b/src/utils/convertSpanToDiv.ts
new file mode 100644
index 0000000..226b3ff
--- /dev/null
+++ b/src/utils/convertSpanToDiv.ts
@@ -0,0 +1,15 @@
+export const convertSpanToDiv = (html: any) => {
+ const parser = new DOMParser();
+ const doc = parser.parseFromString(html, "text/html");
+ const spans = doc.querySelectorAll("span");
+ if (!spans.length) {
+ return;
+ }
+ spans.forEach((span: any) => {
+ if (span.querySelector("img")) {
+ const img = span.querySelector("img");
+ span.parentNode.replaceChild(img, span);
+ }
+ });
+ return doc.body.innerHTML;
+};
diff --git a/src/utils/recursiveCompare.ts b/src/utils/recursiveCompare.ts
new file mode 100644
index 0000000..c88b0f2
--- /dev/null
+++ b/src/utils/recursiveCompare.ts
@@ -0,0 +1,13 @@
+export const recursiveCompare = (item: any, targetId: any) => {
+ if (typeof item === "object" && item !== null) {
+ if (item.value !== undefined && item.value === targetId) {
+ return true;
+ }
+ for (const key in item) {
+ if (recursiveCompare(item[key], targetId)) {
+ return true;
+ }
+ }
+ }
+ return false;
+};
diff --git a/src/views/QAManagement/list/edit.vue b/src/views/QAManagement/list/edit.vue
index b215dfd..e6dd4cd 100644
--- a/src/views/QAManagement/list/edit.vue
+++ b/src/views/QAManagement/list/edit.vue
@@ -20,7 +20,7 @@
-
+
@@ -32,7 +32,8 @@
import rulesForm from "@/components/rulesForm/index.vue";
import { getQAListDetailsApi, getQAListEditUpApi, getQAListSaveApi } from "@/api/modules/QAList";
import { ref, reactive } from "vue";
-import WangEditor from "@/components/WangEditor/index.vue";
+// import { convertSpanToDiv } from "@/utils/convertSpanToDiv";
+import Editor from "@/components/Editor/index.vue";
import { useMsg } from "@/hooks/useMsg";
import { EDIT_FORM_DATA, EDIT_RULE_FORM, RULES } from "./constant/index";
import { cloneDeep } from "lodash-es";
@@ -49,7 +50,6 @@ const formRef: any = ref(null);
//详情
const getQAListDetails = async () => {
let id = $route.query.id;
- console.log(id, "=========id========");
if (!id) {
return;
}
@@ -58,6 +58,8 @@ const getQAListDetails = async () => {
const { data } = result;
//这里是传给基本信息组件的表单数据
dataStore.editRuleForm = cloneDeep(data);
+ // dataStore.editRuleForm.answer = convertSpanToDiv(dataStore.editRuleForm.answer);
+
dataStore.value = data.answer;
}
};
diff --git a/src/views/articleManagement/class/index.vue b/src/views/articleManagement/class/index.vue
index 106c69f..a56512b 100644
--- a/src/views/articleManagement/class/index.vue
+++ b/src/views/articleManagement/class/index.vue
@@ -27,6 +27,12 @@
{{ row.is_show === 1 ? "✔️" : "❌" }}
+
+
+
+
+
+
@@ -77,6 +83,8 @@