diff --git a/src/assets/iconfont/iconfont.css b/src/assets/iconfont/iconfont.css index a99ab4e..609f846 100644 --- a/src/assets/iconfont/iconfont.css +++ b/src/assets/iconfont/iconfont.css @@ -1,8 +1,8 @@ @font-face { font-family: "iconfont"; /* Project id 3943555 */ - src: url('iconfont.woff2?t=1678435002469') format('woff2'), - url('iconfont.woff?t=1678435002469') format('woff'), - url('iconfont.ttf?t=1678435002469') format('truetype'); + src: url('iconfont.woff2?t=1678776813161') format('woff2'), + url('iconfont.woff?t=1678776813161') format('woff'), + url('iconfont.ttf?t=1678776813161') format('truetype'); } .iconfont { @@ -13,6 +13,18 @@ -moz-osx-font-smoothing: grayscale; } +.icon-icon-drag:before { + content: "\e740"; +} + +.icon-icon-edit:before { + content: "\e741"; +} + +.icon-icon-delete:before { + content: "\e742"; +} + .icon-icon-video:before { content: "\e73f"; } diff --git a/src/assets/iconfont/iconfont.ttf b/src/assets/iconfont/iconfont.ttf index 7c1f649..179ff6e 100644 Binary files a/src/assets/iconfont/iconfont.ttf and b/src/assets/iconfont/iconfont.ttf differ diff --git a/src/assets/iconfont/iconfont.woff b/src/assets/iconfont/iconfont.woff index c14bf3c..0bf57d5 100644 Binary files a/src/assets/iconfont/iconfont.woff and b/src/assets/iconfont/iconfont.woff differ diff --git a/src/assets/iconfont/iconfont.woff2 b/src/assets/iconfont/iconfont.woff2 index 5eb0809..a9d690f 100644 Binary files a/src/assets/iconfont/iconfont.woff2 and b/src/assets/iconfont/iconfont.woff2 differ diff --git a/src/index.less b/src/index.less index 3a0d426..3ff8f33 100644 --- a/src/index.less +++ b/src/index.less @@ -406,6 +406,16 @@ textarea.ant-input { } } +.ant-tree-title { + .iconfont { + color: rgba(0, 0, 0, 0.3); + cursor: pointer; + &:hover { + opacity: 0.8; + } + } +} + .ant-modal-confirm-btns > .ant-btn-default:hover { color: #ff4d4f !important; border-color: #ff4d4f; diff --git a/src/pages/department/compenents/update.tsx b/src/pages/department/compenents/update.tsx index 4aa94ae..8c03db7 100644 --- a/src/pages/department/compenents/update.tsx +++ b/src/pages/department/compenents/update.tsx @@ -24,6 +24,7 @@ export const DepartmentUpdate: React.FC = ({ const [loading, setLoading] = useState(true); const [departments, setDepartments] = useState([]); const [parent_id, setParentId] = useState(0); + const [sort, setSort] = useState(0); useEffect(() => { getParams(); @@ -63,6 +64,7 @@ export const DepartmentUpdate: React.FC = ({ parent_id: new_arr, }); setParentId(data.parent_id); + setSort(data.sort); }); }; @@ -90,7 +92,7 @@ export const DepartmentUpdate: React.FC = ({ const onFinish = (values: any) => { department - .updateDepartment(id, values.name, parent_id || 0, 0) + .updateDepartment(id, values.name, parent_id || 0, sort) .then((res: any) => { message.success("保存成功!"); onCancel(); diff --git a/src/pages/department/index.tsx b/src/pages/department/index.tsx index baf5f70..c9683c6 100644 --- a/src/pages/department/index.tsx +++ b/src/pages/department/index.tsx @@ -1,13 +1,13 @@ import React, { useState, useEffect } from "react"; -import { Button, Space, Tree, Modal, message } from "antd"; +import { Button, Tree, Modal, message } from "antd"; import styles from "./index.module.less"; import { PlusOutlined, ExclamationCircleFilled } from "@ant-design/icons"; import { department } from "../../api/index"; -import { useNavigate } from "react-router-dom"; import { PerButton } from "../../compenents"; import type { DataNode, TreeProps } from "antd/es/tree"; import { DepartmentCreate } from "./compenents/create"; import { DepartmentUpdate } from "./compenents/update"; +import { useSelector } from "../../store/hooks"; const { confirm } = Modal; @@ -25,7 +25,7 @@ interface DataType { } export const DepartmentPage: React.FC = () => { - const navigate = useNavigate(); + const permisssions = useSelector((state: any) => state.permisssions); const [loading, setLoading] = useState(true); const [refresh, setRefresh] = useState(false); const [treeData, setTreeData] = useState([]); @@ -40,6 +40,13 @@ export const DepartmentPage: React.FC = () => { console.log(selectedKeys); }; + const through = (p: string) => { + if (!permisssions) { + return false; + } + return typeof permisssions[p] !== "undefined"; + }; + useEffect(() => { getData(); }, [refresh]); @@ -65,30 +72,27 @@ export const DepartmentPage: React.FC = () => { title: (
{departments[id][i].name}
- - { - setDid(departments[id][i].id); - setUpdateVisible(true); - }} - disabled={null} - /> -
- delUser(departments[id][i].id)} - disabled={null} - /> -
+ + {through("department-cud") && ( + <> + { + setDid(departments[id][i].id); + setUpdateVisible(true); + }} + /> + delUser(departments[id][i].id)} + /> + + )}
), key: departments[id][i].id, @@ -99,30 +103,27 @@ export const DepartmentPage: React.FC = () => { title: (
{departments[id][i].name}
- - { - setDid(departments[id][i].id); - setUpdateVisible(true); - }} - disabled={null} - /> -
- delUser(departments[id][i].id)} - disabled={null} - /> -
+ + {through("department-cud") && ( + <> + { + setDid(departments[id][i].id); + setUpdateVisible(true); + }} + /> + delUser(departments[id][i].id)} + /> + + )}
), key: departments[id][i].id, diff --git a/src/pages/resource/resource-category/compenents/update.tsx b/src/pages/resource/resource-category/compenents/update.tsx index c6d4968..a8dbd76 100644 --- a/src/pages/resource/resource-category/compenents/update.tsx +++ b/src/pages/resource/resource-category/compenents/update.tsx @@ -24,6 +24,7 @@ export const ResourceCategoryUpdate: React.FC = ({ const [loading, setLoading] = useState(true); const [categories, setCategories] = useState([]); const [parent_id, setParentId] = useState(0); + const [sort, setSort] = useState(0); useEffect(() => { getParams(); @@ -63,6 +64,7 @@ export const ResourceCategoryUpdate: React.FC = ({ parent_id: new_arr, }); setParentId(data.parent_id); + setSort(data.sort); }); }; @@ -88,7 +90,7 @@ export const ResourceCategoryUpdate: React.FC = ({ const onFinish = (values: any) => { resourceCategory - .updateResourceCategory(id, values.name, parent_id || 0, 0) + .updateResourceCategory(id, values.name, parent_id || 0, sort) .then((res: any) => { message.success("保存成功!"); onCancel(); diff --git a/src/pages/resource/resource-category/index.tsx b/src/pages/resource/resource-category/index.tsx index 77de8dd..36cefe1 100644 --- a/src/pages/resource/resource-category/index.tsx +++ b/src/pages/resource/resource-category/index.tsx @@ -1,13 +1,13 @@ import React, { useState, useEffect } from "react"; -import { Button, Space, Tree, Modal, message } from "antd"; +import { Button, Tree, Modal, message } from "antd"; import styles from "./index.module.less"; import { PlusOutlined, ExclamationCircleFilled } from "@ant-design/icons"; import { resourceCategory } from "../../../api/index"; -import { useNavigate } from "react-router-dom"; import { PerButton } from "../../../compenents"; import type { DataNode, TreeProps } from "antd/es/tree"; import { ResourceCategoryCreate } from "./compenents/create"; import { ResourceCategoryUpdate } from "./compenents/update"; +import { useSelector } from "../../../store/hooks"; const { confirm } = Modal; @@ -25,7 +25,7 @@ interface DataType { } export const ResourceCategoryPage: React.FC = () => { - const navigate = useNavigate(); + const permisssions = useSelector((state: any) => state.permisssions); const [loading, setLoading] = useState(true); const [refresh, setRefresh] = useState(false); const [treeData, setTreeData] = useState([]); @@ -42,6 +42,13 @@ export const ResourceCategoryPage: React.FC = () => { setSelectKey(selectedKeys); }; + const through = (p: string) => { + if (!permisssions) { + return false; + } + return typeof permisssions[p] !== "undefined"; + }; + const getData = () => { setLoading(true); resourceCategory.resourceCategoryList().then((res: any) => { @@ -62,30 +69,27 @@ export const ResourceCategoryPage: React.FC = () => { title: (
{categories[id][i].name}
- - { - setCid(categories[id][i].id); - setUpdateVisible(true); - }} - disabled={null} - /> -
- delUser(categories[id][i].id)} - disabled={null} - /> -
+ + {through("resource-category") && ( + <> + { + setCid(categories[id][i].id); + setUpdateVisible(true); + }} + /> + delUser(categories[id][i].id)} + /> + + )}
), key: categories[id][i].id, @@ -96,30 +100,27 @@ export const ResourceCategoryPage: React.FC = () => { title: (
{categories[id][i].name}
- - { - setCid(categories[id][i].id); - setUpdateVisible(true); - }} - disabled={null} - /> -
- delUser(categories[id][i].id)} - disabled={null} - /> -
+ + {through("resource-category") && ( + <> + { + setCid(categories[id][i].id); + setUpdateVisible(true); + }} + /> + delUser(categories[id][i].id)} + /> + + )}
), key: categories[id][i].id,