From 63496f77b02d25cb8d1af4ae0828e77134c99983 Mon Sep 17 00:00:00 2001 From: wang_yp <357754663@qq.com> Date: Sun, 13 Apr 2025 23:41:51 +0800 Subject: [PATCH] fix(resource) --- src/components/edittor.tsx | 28 ++++++++++++++++++++++------ src/components/layout/layout.tsx | 3 ++- src/pages/sku/sku/config.tsx | 8 ++++---- src/pages/sku/sku/index.tsx | 2 -- src/pages/sku/sku/sku_add_config.tsx | 6 +++--- 5 files changed, 31 insertions(+), 16 deletions(-) diff --git a/src/components/edittor.tsx b/src/components/edittor.tsx index 333fd8c..1343189 100644 --- a/src/components/edittor.tsx +++ b/src/components/edittor.tsx @@ -3,11 +3,12 @@ import "@wangeditor/editor/dist/css/style.css"; // 引入 css import React, { useState, useEffect } from "react"; import { Editor, Toolbar } from "@wangeditor/editor-for-react"; import { IDomEditor, IEditorConfig, IToolbarConfig } from "@wangeditor/editor"; +import { base } from "@/service/base"; interface EditorProps { value: string; onChange: (value: string) => void; } -function MyEditor(props:EditorProps) { +function MyEditor(props: EditorProps) { // editor 实例 const [editor, setEditor] = useState(null); // TS 语法 // 编辑器内容 @@ -15,8 +16,8 @@ function MyEditor(props:EditorProps) { // 模拟 ajax 请求,异步设置 html useEffect(() => { - if (props.value){ - setHtml(props.value) + if (props.value) { + setHtml(props.value); } }, [props.value]); @@ -25,8 +26,23 @@ function MyEditor(props:EditorProps) { // 编辑器配置 const editorConfig: Partial = { - // TS 语法 placeholder: "请输入内容...", + MENU_CONF: { + uploadImage: { + server: "/public/fts/upload", + fieldName: "file", + async customUpload(file: File, insertFn) { + let uploadUrl = "/public/fts/upload"; + const formData = new FormData(); + formData.append("file", file); + let res = await base.upload(uploadUrl, formData); + if (res.code === 200) { + let url = res.data.record.file_url; + insertFn(url, "", ""); + } + }, + }, + }, }; // 及时销毁 editor ,重要! @@ -52,8 +68,8 @@ function MyEditor(props:EditorProps) { value={html} onCreated={setEditor} onChange={(editor) => { - setHtml(editor.getHtml()) - props.onChange(editor.getHtml()) + setHtml(editor.getHtml()); + props.onChange(editor.getHtml()); }} mode="default" style={{ height: "500px", overflowY: "hidden" }} diff --git a/src/components/layout/layout.tsx b/src/components/layout/layout.tsx index 4648dbb..b4877cd 100644 --- a/src/components/layout/layout.tsx +++ b/src/components/layout/layout.tsx @@ -30,6 +30,7 @@ const LayOut = (props: Store) => { display: "flex", alignItems: "center", justifyContent: "space-between", + }; const logoStyle = { width: 140, color: "white",display:"flex" }; const contentstyle = { @@ -76,7 +77,7 @@ const LayOut = (props: Store) => { theme="dark" defaultSelectedKeys={["1"]} defaultOpenKeys={["sub1"]} - style={{ height: "100%", borderRight: 0 }} + style={{ height: "100%", borderRight: 0 ,overflowY:"auto"}} items={items} onClick={(e) => { nav(e.key); diff --git a/src/pages/sku/sku/config.tsx b/src/pages/sku/sku/config.tsx index 0676545..387122f 100644 --- a/src/pages/sku/sku/config.tsx +++ b/src/pages/sku/sku/config.tsx @@ -26,10 +26,10 @@ export const columns: ColumnsType = [ return ; }, }, - { - title: "商品介绍", - dataIndex: "sku_desc", - }, + // { + // title: "商品介绍", + // dataIndex: "sku_desc", + // }, { title: "所属城市", dataIndex: "city", diff --git a/src/pages/sku/sku/index.tsx b/src/pages/sku/sku/index.tsx index 4eac01c..6427773 100644 --- a/src/pages/sku/sku/index.tsx +++ b/src/pages/sku/sku/index.tsx @@ -8,9 +8,7 @@ import BTable from "@/components/b_table"; import { useNavigate } from "react-router"; const Sku = (props: Store) => { const { skuStore } = props; - const nav = useNavigate(); - // 获取列表数据 useEffect(() => { skuStore.getlist(); diff --git a/src/pages/sku/sku/sku_add_config.tsx b/src/pages/sku/sku/sku_add_config.tsx index 0dcea35..88b4932 100644 --- a/src/pages/sku/sku/sku_add_config.tsx +++ b/src/pages/sku/sku/sku_add_config.tsx @@ -54,9 +54,9 @@ export const formConfig = [ rules: [{ required: true, message: "附件图不能为空" }], }, { - type: FormType.textarea, - label: "描述", + type: FormType.editor, + label: "商品介绍", name: "sku_desc", - rules: [{ required: true, message: "描述不能为空" }], + rules: [{ required: true, message: "商品介绍为空" }], }, ];