diff --git a/src/components/b_table.tsx b/src/components/b_table.tsx index 091438b..6e81c38 100644 --- a/src/components/b_table.tsx +++ b/src/components/b_table.tsx @@ -1,7 +1,7 @@ import { Pagination, PaginationProps, Table } from "antd"; import { useState } from "react"; const BTable = (props: any) => { - const { store, dataSource ,selectCallback} = props; + const { store, dataSource, selectCallback, scroll } = props; const [selectedRowKeys, setSelectedRowKeys] = useState([]); const onSelectChange = (newSelectedRowKeys: React.Key[]) => { setSelectedRowKeys(newSelectedRowKeys); @@ -29,7 +29,7 @@ const BTable = (props: any) => { { label: `系统管理`, children: [ { label: "系统设置", key: "/admin/sys/setting" }, + { label: "光荣牌审核", key: "/admin/sys/gp" }, ], }, ]; @@ -101,7 +102,7 @@ const LayOut = (props: Store) => { style={{ position: "sticky", top: 0, - zIndex: 1, + zIndex: 9, width: "100%", display: "flex", alignItems: "center", diff --git a/src/components/map/MapComponent.tsx b/src/components/map/MapComponent.tsx index 48f2a64..def0fc8 100644 --- a/src/components/map/MapComponent.tsx +++ b/src/components/map/MapComponent.tsx @@ -16,7 +16,7 @@ export default function MapContainer() { const Amap = await AMapLoader.load({ key: "d58999d072ed7e5897d3900a769cfda0", // 申请好的Web端开发者Key,首次调用 load 时必填 version: "2.0", // 指定要加载的 JSAPI 的版本,缺省时默认为 1.4.15 - plugins: ["AMap.Scale"], + plugins: ["AMap.Scale","AMap.MoveAnimation"], }); amap = new Amap.Map("container", { @@ -32,30 +32,7 @@ export default function MapContainer() { MapUtl.amap = amap; amap.setFitView(); }; - const addMaket = (m,mp) => { - const marker = new m.Marker({ - position: new m.LngLat(103.55, 30.34), - title: "黄水", - }); - - var content = [ - "
高德软件有限公司", - "电话 : 010-84107000 邮编 : 100102", - "地址 : 北京市望京阜通东大街方恒国际中心A座16层
", - ]; - var infoWindow = new m.InfoWindow({ - offset: new m.Pixel(0, -30), - autoMove: true, - content: content.join("
"), - }); - marker.on("click", (e) => { - infoWindow.open(mp, e.target.getPosition()); - }); - amap.add(marker); - - MapUtl.makerList.push(marker); - MapUtl.amap = m; - }; + return
; } diff --git a/src/components/map/mapUtil.ts b/src/components/map/mapUtil.ts index d936deb..205ba39 100644 --- a/src/components/map/mapUtil.ts +++ b/src/components/map/mapUtil.ts @@ -36,6 +36,37 @@ class MapUtl { maker.setIcon(newIcon); } + static polyline = (lineArr) => { + var marker = new MapUtl.loadMap.Marker({ + map: MapUtl.amap, + position: [116.478935, 39.997761], + icon: "https://a.amap.com/jsapi_demos/static/demo-center-v2/car.png", + offset: new MapUtl.loadMap.Pixel(-13, -26), + }); + new MapUtl.loadMap.Polyline({ + map: MapUtl.amap, + path: lineArr, + showDir: true, + strokeColor: "#28F", //线颜色 + strokeWeight: 6, //线宽 + }); + var passedPolyline = new MapUtl.loadMap.Polyline({ + map: MapUtl.amap, + strokeColor: "#AF5", //线颜色 + strokeWeight: 6, //线宽 + }); + marker.on('moving', function (e) { + passedPolyline.setPath(e.passedPath); + MapUtl.amap.setCenter(e.target.getPosition(), true) + }); + MapUtl.amap.setFitView(); + marker.moveAlong(lineArr, { + // 每一段的时长 + duration: 500,//可根据实际采集时间间隔设置 + // JSAPI2.0 是否延道路自动设置角度在 moveAlong 里设置 + autoRotation: true, + }); + } } export default MapUtl; \ No newline at end of file diff --git a/src/pages/OrgChart.tsx b/src/pages/OrgChart.tsx index 7b8af1f..49a6f19 100644 --- a/src/pages/OrgChart.tsx +++ b/src/pages/OrgChart.tsx @@ -1,88 +1,160 @@ +import { Store } from "antd/es/form/interface"; import "./org_chart.less"; -import OrgChart from "@/components/org/OrgChart"; -import { OrgChartNodeDataType } from "@/components/org"; +import { inject, observer } from "mobx-react"; +import { useEffect, useState } from "react"; +import { orgData } from "./org_config"; +const OrgChartSelf = (props: Store) => { + const { depStore } = props; + const [data, setOrgData] = useState([]); + useEffect(() => { + depStore.getOrg().then((res) => { + // setOrgData(res.data.record) + // setOrgData(orgData); + }); + }, []); -const OrgChartSelf = () => { - const data: OrgChartNodeDataType = { - key: 0, - label: "黄水武装", - children: [ - { - key: 1, - label: "武装部长", - children: [ - { - key: 11, - label: "文物社区支部", - children: [ - { - key: 21, - label: "wangpeng", - }, - { - key: 22, - label: "wangpeng1", - }, - ], - }, - { - key: 12, - label: "花龙村支部", - children: [ - { - key: 22, - label: "一组", - }, - { - key: 24, - label: "二组", - children: [ - { - key: 23, - label: "王鹏", - }, - { - key: 29, - label: "王鹏1", - }, - ] - }, - ], - }, - { key: 13, label: "云华社区支部", children: [ - { - key: 26, - label: "一组", - }, - { - key: 28, - label: "二组", - }, - ],}, - ], - }, - { - key: 2, - label: "教导员", - children: [], - }, - ], + const getArrayDepth = (arr) => { + let maxDepth = 0; + let maxUser = 0; + function dfs(currentArr, currentDepth) { + currentDepth++; + for (let i = 0; i < currentArr.length; i++) { + if (Array.isArray(currentArr[i].children)) { + dfs(currentArr[i].children, currentDepth); + } else { + maxUser = Math.max(maxUser, currentArr[i].users.length); + maxDepth = Math.max(maxDepth, currentDepth); + } + } + } + dfs(arr, 0); + return maxUser; }; - return ( - <> - { - return
- - {e.label} -
- }} - /> - - ); + // 示例代码 + // const arr = [[1, 2, [3, 4]], [[5], 6], 7]; + // console.log(getArrayDepth(arr)); // 输出: 3 + + const dc = (v) => { + let max = getArrayDepth(orgData); + if (v.depId === 1) { + return 70 * max - 40; + } + if (v.children.length > 0) { + return v.children?.length * 70 - 40; + } + }; + const lf = (v) => { + let max = getArrayDepth(orgData); + if (v.depId === 1) { + return -30 * max + 20; + } + if (v.children?.length > 0) { + return -30 * v.children?.length + 10; + } + }; + const renderTree = (list: Array) => { + return ( +
+ {list?.map((v, _) => { + if (v.children) { + return ( +
+ {v.depId !== 2 ? ( + + {v.dep_name} + + ) : null} + {v.depId === 1 ? ( +
+ {v.users?.map((v1, _) => { + return ( +
+ + {v1.user_name} +
+ ); + })} +
+ ) : ( + v.users?.map((v1, _) => { + return ( +
+ + {v1.user_name} +
+ ); + }) + )} + {v.depId !== 2 ? ( +
+
+
+
+ ) : null} + {renderTree(v.children)} +
+ ); + } + return ( +
+ {v.users?.map((v1, _) => { + return ( +
+ + {v1.user_name} +
+ ); + })} +
+ ); + })} +
+ ); + }; + return
{renderTree(orgData)}
; }; -export default OrgChartSelf; +// export default OrgChartSelf; +export default inject("depStore")(observer(OrgChartSelf)); diff --git a/src/pages/OrgChart_ot.tsx b/src/pages/OrgChart_ot.tsx new file mode 100644 index 0000000..4647a68 --- /dev/null +++ b/src/pages/OrgChart_ot.tsx @@ -0,0 +1,334 @@ +import "./org_chart.less"; +import OrgChart from "@/components/org/OrgChart"; +import { OrgChartNodeDataType } from "@/components/org"; + +const OrgChartSelf = () => { + const data: OrgChartNodeDataType = { + key: 0, + label: "黄水武装", + children: [ + { + key: 1, + label: "武装部长", + children: [ + { + key: 11, + label: "文物社区支部", + children: [ + { + key: 21, + label: "wangpeng", + }, + { + key: 22, + label: "wangpeng1", + }, + ], + }, + { + key: 12, + label: "花龙村支部", + children: [ + { + key: 22, + label: "一组", + }, + { + key: 24, + label: "二组", + children: [ + { + key: 23, + label: "王鹏", + }, + { + key: 29, + label: "王鹏1", + }, + ] + }, + ], + }, + { key: 13, label: "云华社区支部", children: [ + { + key: 26, + label: "一组", + }, + { + key: 28, + label: "二组", + }, + ],}, + ], + }, + { + key: 2, + label: "教导员", + children: [], + }, + ], + }; + + return ( + <> + { + return
+ + {e.label} +
+ }} + /> + + ); +}; +const data = [ + { + depName: "镇武装部党委", + depId: 1, + userList: [ + { + position: "武装部长", + userName: "李部长", + userId: 1, + }, + { + position: "教导员", + userName: "王教导", + userId: 2, + }, + ], + children: [ + { + depName: " 武装力量党支部", + depId: 2, + children: [ + { + depName: " 文武社区支部", + depId: 3, + children: [ + { + depName: " 一小组", + depId: 6, + userList: [ + { + position: "一小组长", + userName: "一小组长1", + userId: 6, + }, + { + position: "二小组长12", + userName: "二小组长2", + userId: 8, + }, + { + position: "战士", + userName: "王小三3", + userId: 11, + }, + { + position: "战士", + userName: "王小四4", + userId: 12, + }, + { + position: "二小组长34", + userName: "二小组长5", + userId: 8, + }, + { + position: "战士", + userName: "王小三6", + userId: 11, + }, + { + position: "战士", + userName: "王小四7", + userId: 13, + }, + ], + }, + { + depName: " 二小组", + depId: 7, + userList: [ + { + position: "二小组长8", + userName: "二小组长9", + userId: 7, + }, + { + position: "二小组长10", + userName: "二小组长11", + userId: 8, + }, + { + position: "战士", + userName: "王小三14", + userId: 11, + }, + { + position: "战士", + userName: "王小四", + userId: 12, + }, + ], + }, + ], + userList: [ + { + position: "文武社区支部书记", + userName: "书记名称", + userId: 3, + }, + ], + }, + { + depName: " 花龙村支部", + depId: 4, + children: [ + { + depName: " 一小组", + depId: 7, + userList: [ + { + position: "一小组长", + userName: "一小组长", + userId: 7, + }, + { + position: "二小组长2", + userName: "二小组长11", + userId: 8, + }, + { + position: "战士", + userName: "王小三", + userId: 11, + }, + { + position: "战士", + userName: "王小四12", + userId: 12, + }, + { + position: "二小组长3", + userName: "二小组长", + userId: 8, + }, + + { + position: "战士", + userName: "王小四32", + userId: 12, + }, + ], + }, + { + depName: " 二小组", + depId: 8, + userList: [ + { + position: "二小组长4", + userName: "二小组长4", + userId: 8, + }, + { + position: "战士", + userName: "王小三", + userId: 11, + }, + { + position: "战士", + userName: "王小四12", + userId: 12, + }, + { + position: "战士", + userName: "王小五", + userId: 13, + }, + ], + }, + ], + userList: [ + { + position: "花龙村支部书记", + userName: "书记名称", + userId: 4, + }, + ], + }, + { + depName: " 云华社区支部", + depId: 5, + children: [ + { + depName: " 一小组", + depId: 8, + userList: [ + { + position: "一小组长", + userName: "小组长", + userId: 8, + }, + { + position: "战士", + userName: "王喜哦", + userId: 12, + }, + { + position: "战士", + userName: "王喜吃", + userId: 13, + }, + ], + }, + { + depName: " 二小组", + depId: 9, + userList: [ + { + position: "二小组长5", + userName: "小组长", + userId: 9, + }, + { + position: "战士", + userName: "王小二", + userId: 10, + }, + { + position: "战士", + userName: "王小三", + userId: 11, + }, + { + position: "战士", + userName: "王小四3", + userId: 12, + }, + { + position: "战士", + userName: "王小五", + userId: 13, + }, + ], + }, + ], + userList: [ + { + position: "云华社区支部书记", + userName: "书记名称", + userId: 5, + }, + ], + }, + ], + }, + ], + }, +]; +export default OrgChartSelf; diff --git a/src/pages/dep/index.tsx b/src/pages/dep/index.tsx index 769fe66..e4e1335 100644 --- a/src/pages/dep/index.tsx +++ b/src/pages/dep/index.tsx @@ -63,12 +63,10 @@ const Dep = (props: Store) => { setId(record.id); }; const onFinish = (values: any) => { - let data = values; - data.head_img = values.head_img[0].url; if (!tagId) { - depStore.add(data); + depStore.add(values); } else { - depStore.putItem(tagId, data); + depStore.putItem(tagId, values); } setIsModalOpen(false); }; @@ -109,13 +107,6 @@ const Dep = (props: Store) => { value: "", rules: [{ required: true, message: "请输入部门描述" }], }, - { - type: "upload", - label: "头像", - name: "head_img", - value: [], - rules: [{ required: false }], - }, ]; const onFinishFailed = () => {}; return ( diff --git a/src/pages/glory_plaque/index.tsx b/src/pages/glory_plaque/index.tsx new file mode 100644 index 0000000..19ca78c --- /dev/null +++ b/src/pages/glory_plaque/index.tsx @@ -0,0 +1,47 @@ +import BTable from "@/components/b_table"; +import { UserDataType } from "@/model/userModel"; +import { Button, Space } from "antd"; +import { Store } from "antd/es/form/interface"; +import { ColumnsType } from "antd/lib/table"; +import { inject, observer } from "mobx-react"; +import { useEffect } from "react"; + +const GloryPlaque = (props: Store) => { + const { gpStore } = props; + useEffect(() => { + gpStore.getlist(); + }, [gpStore]); + const columns: ColumnsType = [ + { title: "申请人", dataIndex: "user_name" }, + { title: "申请人手机号", dataIndex: "tel" }, + { title: "悬挂地址", dataIndex: "address" }, + { title: "申请时间", dataIndex: "created_at" }, + { title: "申请原因", dataIndex: "abbr",render: (abbr) => {abbr===2?'更换':'悬挂'} }, + { title: "申请描述", dataIndex: "desc" }, + { + title: "操作", + dataIndex: "id", + render: (any, record) => ( +
+ + + +
+ ), + }, + ]; + return ( +
+ +
+ ); +}; +export default inject("gpStore")(observer(GloryPlaque)); diff --git a/src/pages/login/login.tsx b/src/pages/login/login.tsx index aa5bb66..2d1765e 100644 --- a/src/pages/login/login.tsx +++ b/src/pages/login/login.tsx @@ -9,12 +9,14 @@ const Login = (props) => { const formRef = React.useRef(null); const navigate = useNavigate(); const onFinish = async (values: any) => { - await usrStore.login({ + let status = await usrStore.login({ userName: values.account, passWord: values.password, }); - usrStore.closeLoginDilog() - navigate("/admin/user", { replace: true }); + if (status) { + usrStore.closeLoginDilog(); + navigate("/admin/user", { replace: true }); + } }; const onFinishFailed = () => {}; const loginForm = [ diff --git a/src/pages/org_chart.less b/src/pages/org_chart.less index 602bbbb..2fa1b66 100644 --- a/src/pages/org_chart.less +++ b/src/pages/org_chart.less @@ -4,12 +4,8 @@ align-items: center; position: relative; } -.orgs::before{ +.orgs::before { position: absolute; - width: 80px; - left: -35px; - height: 1px; - background-color: black; border-radius: 50%; } @@ -27,57 +23,74 @@ padding: 5px 5px; background: rgba(75, 176, 152, 0.2); font-size: 13px; + color: #fff; } } .lineBox { position: relative; - height: 100%; + height: 1px; width: 100%; - background-color: red; + background-color: white; top: -5px; - .linLeft { - position: absolute; - width: 50%; - border: 1px solid; - left: 0; - right: 50%; + .linLeft1 { + width: 126px; + height: 1px; + background: #fff; } .linRight { position: absolute; width: 100%; - border: 1px solid; + border: 1px solid #fff; height: 100%; right: -5px; transform: rotate(-90deg) rotateY(180deg); box-sizing: border-box; } - .linRight:after { + .linRight::after { position: absolute; left: -40px; top: 40px; width: 80px; + content: ""; height: 1px; - background-color: black; + background-color: #fff; border-radius: 50%; transform: rotate(-90deg) rotateY(180deg); } .linRight::before { position: absolute; - left: 410px; top: 40px; width: 80px; + content: ""; height: 1px; - background-color: black; + background-color: #fff; + border-radius: 50%; + right: -40px; + transform: rotate(-90deg) rotateY(180deg); + } + + .linRight1::after { + position: absolute; + top: 38px; + left: 408px; + width: 80px; + height: 1px; + content: ""; + background-color: white; + border-radius: 50%; + transform: rotate(-90deg) rotateY(180deg); + } + + .linRight1::before { + position: absolute; + content: ""; + top: 38px; + left: -40px; + width: 80px; + height: 1px; + background-color: white; border-radius: 50%; transform: rotate(-90deg) rotateY(180deg); } } - - -.orgs:nth-of-type(1){ - .orgs::before{ - content: ""; - width: 80px; - } -} \ No newline at end of file diff --git a/src/pages/org_chart2.less b/src/pages/org_chart2.less deleted file mode 100644 index 88550fa..0000000 --- a/src/pages/org_chart2.less +++ /dev/null @@ -1,830 +0,0 @@ -.orgchart { - box-sizing: border-box; - display: inline-block; - -webkit-touch-callout: none; - -webkit-user-select: none; - -khtml-user-select: none; - -moz-user-select: none; - -ms-user-select: none; - user-select: none; - background-image: linear-gradient(to top,rgba(200,0,0,.15) 5%,rgba(0,0,0,0) 5%),linear-gradient(to right,rgba(200,0,0,.15) 5%,rgba(0,0,0,0) 5%),linear-gradient(to bottom,rgba(200,0,0,.15) 5%,rgba(0,0,0,0) 5%),linear-gradient(to left,rgba(200,0,0,.15) 5%,rgba(0,0,0,0) 5%); - background-size: 10px 10px; - padding: 20px 20px 0 20px -} - -.orgchart .hidden,.orgchart~.hidden { - display: none!important -} - -.orgchart.b2t { - transform: rotate(180deg) -} - -.orgchart.l2r { - position: absolute; - transform: rotate(-90deg) rotateY(180deg); - transform-origin: left top; - text-align: center -} - -.orgchart.r2l { - position: absolute; - transform: rotate(90deg); - transform-origin: left top; - text-align: center -} - -.orgchart~.mask { - position: absolute; - top: 0; - right: 0; - bottom: 0; - left: 0; - z-index: 999; - text-align: center; - background-color: rgba(0,0,0,.3) -} - -.orgchart~.mask .spinner { - position: absolute; - top: calc(50% - 50px); - left: calc(50% - 50px) -} - -.orgchart>.spinner::before,.orgchart~.mask .spinner::before { - width: 100px; - height: 100px; - border-width: 10px; - border-radius: 50px; - border-top-color: rgba(68,157,68,.8); - border-bottom-color: rgba(68,157,68,.8); - border-left-color: rgba(68,157,68,.8) -} - -.orgchart .nodes { - display: flex; - list-style: none; - padding-left: 0; - margin: 0 -} - -.orgchart .hierarchy { - position: relative -} - -.orgchart .hierarchy::before { - content: ""; - position: absolute; - top: -11px; - left: 0; - width: 100%; - border-top: 2px solid rgba(217,83,79,.8); - box-sizing: border-box -} - -.orgchart .hierarchy.isSiblingsCollapsed.left-sibs::before,.orgchart .hierarchy:first-child::before { - left: calc(50% - 1px); - width: calc(50% + 1px); -} - -.orgchart .hierarchy.isSiblingsCollapsed.right-sibs::before,.orgchart .hierarchy:last-child::before { - width: calc(50% + 1px) -} - -.orgchart .hierarchy:not(.hidden):only-child::before { - width: 2px -} - -.orgchart .isAncestorsCollapsed:only-child::before,.orgchart .isAncestorsCollapsed>.node::before,.orgchart .isChildrenCollapsed>.node:not(:only-child)::after,.orgchart .isCollapsedDescendant::before,.orgchart .isCollapsedDescendant>.node::after,.orgchart .isCollapsedDescendant>.node::before,.orgchart .isCollapsedSibling .hierarchy::before,.orgchart .isCollapsedSibling::before,.orgchart .isSiblingsCollapsed.left-sibs.right-sibs::before,.orgchart .isSiblingsCollapsed.left-sibs:last-child:before,.orgchart .isSiblingsCollapsed.right-sibs:first-child:before,.orgchart .isSiblingsCollapsed:not(.left-sibs):not(.right-sibs)::before,.orgchart>.nodes>.hierarchy::before { - content: none -} - -.orgchart .node:not(:only-child)::after { - content: ""; - position: absolute; - bottom: -12px; - left: calc(50% - 1px); - width: 2px; - height: 10px; - background-color: rgba(217,83,79,.8) -} - -.orgchart ul li .node.allowedDrop { - border-color: rgba(68,157,68,.9) -} - -.orgchart ul li .node.currentDropTarget { - background-color: rgba(68,157,68,.9) -} - -.orgchart ul li .node.selected { - background-color: rgba(238,217,54,.5) -} - -.orgchart ul li .node:hover { - background-color: rgba(238,217,54,.5) -} - -.orgchart>ul>li>ul li>.node::before { - content: ""; - position: absolute; - top: var(--top,-12px); - left: calc(50% - 1px); - width: 2px; - height: var(--height,10px); - background-color: rgba(217,83,79,.8) -} - -.orgchart>ul>li>ul li.isSiblingsCollapsed>.node::before { - top: var(--top-cross-point,-12px); - height: var(--height-cross-point,10px) -} - -.orgchart .node { - box-sizing: border-box; - display: inline-block; - position: relative; - margin: 0 0 20px 0; - padding: 3px; - border: 2px dashed transparent; - text-align: center -} - -.orgchart.l2r .node,.orgchart.r2l .node { - width: 50px; - height: 140px -} - -.orgchart .node:hover { - background-color: rgba(238,217,54,.5); - transition: .5s; - cursor: default; - z-index: 20 -} - -.orgchart .node.focused { - background-color: rgba(238,217,54,.5) -} - -.orgchart .ghost-node { - position: fixed; - left: -10000px; - top: -10000px -} - -.orgchart .ghost-node rect { - fill: #fff; - stroke: #bf0000 -} - -.orgchart .node.allowedDrop { - border-color: rgba(68,157,68,.9) -} - -.orgchart .node>.spinner { - position: absolute; - top: calc(50% - 1rem); - left: calc(50% - 1rem) -} - -.orgchart .node>.spinner::before { - width: 2rem; - height: 2rem; - border-width: .2rem; - border-radius: 1rem; - border-top-color: rgba(68,157,68,.8); - border-bottom-color: rgba(68,157,68,.8); - border-left-color: rgba(68,157,68,.8) -} - -.orgchart .node .title { - box-sizing: border-box; - width: 130px; - text-align: center; - font-size: 12px; - font-weight: 700; - height: 20px; - line-height: 20px; - overflow: hidden; - text-overflow: ellipsis; - white-space: nowrap; - background-color: rgba(217,83,79,.8); - color: #fff; - border-radius: 4px 4px 0 0 -} - -.orgchart.b2t .node .title { - transform: rotate(-180deg); - transform-origin: center bottom -} - -.orgchart.l2r .node .title { - transform: rotate(-90deg) translate(-45px,-45px) rotateY(180deg); - transform-origin: bottom center -} - -.orgchart.r2l .node .title { - transform: rotate(-90deg) translate(-45px,-45px); - transform-origin: bottom center -} - -.orgchart .node .title .parentNodeSymbol { - float: left -} - -.orgchart .node .title .parentNodeSymbol::before { - color: #fff -} - -.orgchart .node .title .parentNodeSymbol::after { - background-color: #fff -} - -.orgchart .node .content { - box-sizing: border-box; - width: 130px; - height: 20px; - line-height: 20px; - font-size: 10px; - border: 1px solid rgba(217,83,79,.8); - border-width: 0 1px 1px 1px; - border-radius: 0 0 .25rem .25rem; - text-align: center; - background-color: #fff; - color: #333; - text-overflow: ellipsis; - white-space: nowrap -} - -.orgchart.b2t .node .content { - transform: rotate(180deg); - transform-origin: center top -} - -.orgchart.l2r .node .content { - transform: rotate(-90deg) translate(-45px,-45px) rotateY(180deg); - transform-origin: top center; - width: 130px -} - -.orgchart.r2l .node .content { - transform: rotate(-90deg) translate(-45px,-45px); - transform-origin: top center; - width: 130px -} - -.orgchart .node .edge { - position: absolute; - cursor: default; - transition: .2s -} - -.orgchart .node .edge::before { - border-color: rgba(68,157,68,.5) -} - -.orgchart.noncollapsable .node .edge { - display: none -} - -.orgchart .node .edge:hover { - cursor: pointer -} - -.orgchart .edge:hover::before { - border-color: #449d44 -} - -.orgchart .node .verticalEdge { - width: calc(100% - 6px); - height: 10px; - left: 3px -} - -.orgchart .node .verticalEdge::before { - position: absolute; - left: calc(50% - 5px) -} - -.orgchart .node .topEdge { - top: -2px -} - -.orgchart .node .topEdge.oci-chevron-up::before { - top: 2px -} - -.orgchart .node .topEdge.oci-chevron-down::before { - bottom: 3px -} - -.orgchart .node .bottomEdge { - bottom: -2px -} - -.orgchart .node .bottomEdge.oci-chevron-up::before { - bottom: -3px -} - -.orgchart .node .bottomEdge.oci-chevron-down::before { - bottom: 1px -} - -.orgchart .node .horizontalEdge { - width: 10px; - height: calc(100% - 6px); - top: 3px -} - -.orgchart .node .rightEdge { - right: -2px -} - -.orgchart .node .leftEdge { - left: -2px -} - -.orgchart .node .horizontalEdge::before { - position: absolute; - top: calc(50% - 5px) -} - -.orgchart .node .leftEdge.oci-chevron-right::before { - left: -3px -} - -.orgchart .node .leftEdge.oci-chevron-left::before { - left: 1px -} - -.orgchart .node .rightEdge.oci-chevron-left::before { - right: -3px -} - -.orgchart .node .rightEdge.oci-chevron-right::before { - right: 1px -} - -.orgchart .node .toggleBtn { - position: absolute; - left: -2px; - bottom: -2px; - width: 16px; - height: 16px -} - -.orgchart .node .toggleBtn::before { - background-color: rgba(68,157,68,.6); - position: absolute; - left: 0; - bottom: 0 -} - -.orgchart .node .toggleBtn:hover::before { - background-color: #449d44 -} - -.oc-export-btn { - margin-left: .5rem; - padding: .5rem 1rem -} - -.orgchart .node { - transition: transform .3s,opacity .3s -} - -.orgchart .slide-down { - opacity: 0; - transform: translateY(40px) -} - -.orgchart.l2r .node.slide-down,.orgchart.r2l .node.slide-down { - transform: translateY(130px) -} - -.orgchart .slide-up { - opacity: 0; - transform: translateY(-40px) -} - -.orgchart.l2r .node.slide-up,.orgchart.r2l .node.slide-up { - transform: translateY(-130px) -} - -.orgchart .slide-right { - opacity: 0; - transform: translateX(130px) -} - -.orgchart.l2r .node.slide-right,.orgchart.r2l .node.slide-right { - transform: translateX(40px) -} - -.orgchart .slide-left { - opacity: 0; - transform: translateX(-130px) -} - -.orgchart.l2r .node.slide-left,.orgchart.r2l .node.slide-left { - transform: translateX(-40px) -} - -.orgchart .nodes.vertical { - display: block; - padding-left: 10px -} - -.orgchart .nodes.vertical .nodes { - list-style: none; - display: block; - margin: 0; - padding-left: 10px; - text-align: left -} - -.orgchart .nodes.vertical .node { - margin-bottom: 0 -} - -.orgchart .nodes.vertical .node::after,.orgchart .nodes.vertical .node::before { - content: none -} - -.orgchart .nodes.vertical .hierarchy { - position: relative; - text-align: left -} - -.orgchart .nodes.vertical .hierarchy::after,.orgchart .nodes.vertical .hierarchy::before { - box-sizing: border-box; - content: ''; - position: absolute; - left: -6px; - border-color: rgba(217,83,79,.8); - border-style: solid; - border-width: 0 0 2px 2px -} - -.orgchart .nodes.vertical .hierarchy::before { - top: 0; - height: 26px; - width: 11px -} - -.orgchart .nodes.vertical .hierarchy::after { - bottom: 0; - height: calc(100% - 24px) -} - -.orgchart .nodes.vertical .hierarchy:last-child::after { - border-width: 2px 0 0 0 -} - -.orgchart .nodes.vertical>.hierarchy:first-child::before { - box-sizing: border-box; - top: -11px; - height: 35px; - width: calc(50% + 2px); - border-width: 2px 0 0 2px -} - -.orgchart .nodes.vertical>.hierarchy:first-child::after { - box-sizing: border-box; - top: 24px; - width: 11px; - border-width: 2px 0 0 2px -} - -.orgchart .nodes.vertical>.hierarchy:first-child:last-child::after { - border-width: 2px 0 0 0 -} - -.orgchart .node.compact { - position: static; - display: grid; - width: 140px; - height: 50px; - background-color: #eee -} - -.orgchart .node.compact.looseMode { - display: grid; - width: unset; - height: unset -} - -.orgchart .node.compact>.node { - display: none -} - -.orgchart .node.compact.looseMode>.node { - display: inline-block -} - -.orgchart .node.compact>.node.compact { - position: relative -} - -.orgchart .node.compact>.node.compact.looseMode { - display: grid -} - -.orgchart .node.compact.even,.orgchart .node.compact.even:hover { - background-color: #eee -} - -.orgchart .node.compact.odd,.orgchart .node.compact.odd:hover { - background-color: #fff -} - -.orgchart .node.compact.even>.node.focused,.orgchart .node.compact.even>.node.selected,.orgchart .node.compact.even>.node:hover { - background-color: #fff -} - -.orgchart .node.compact.odd>.node.focused,.orgchart .node.compact.odd>.node.selected,.orgchart .node.compact.odd>.node:hover { - background-color: #eee -} - -.orgchart .node.compact::before { - top: var(--top-cross-point,-10px) -} - -.orgchart .node.compact>.content { - position: absolute; - top: 25px; - left: 5px -} - -.orgchart .node.compact.looseMode>.title { - margin-top: 5px; - margin-left: 5px -} - -.orgchart .node.compact.looseMode>.content { - top: 30px; - left: 10px -} - -.orgchart .node.compact>.node.compact.looseMode>.title { - margin-top: 5px; - margin-left: 5px -} - -.orgchart .node.compact>.node.compact>.content { - position: absolute; - top: 23px; - left: 3px -} - -.orgchart .node.compact>.node.compact.looseMode>.content { - top: 28px; - left: 8px -} - -.orgchart .node.compact .node { - margin-bottom: 0 -} - -.orgchart .node.compact .node:not(:only-child)::after { - content: unset -} - -.orgchart .backToCompactSymbol,.orgchart .backToLooseSymbol { - cursor: pointer -} - -.orgchart .node.compact>.backToCompactSymbol { - position: absolute; - top: 5px; - left: 5px -} - -.orgchart .node.compact.looseMode>.backToCompactSymbol { - top: 10px; - left: 10px -} - -.orgchart .node.compact>.node.compact.looseMode>.backToCompactSymbol { - top: 8px; - left: 8px -} - -.orgchart .node.compact>.node.compact>.backToCompactSymbol { - position: absolute; - top: 3px; - left: 3px -} - -.orgchart .node.compact>.backToLooseSymbol { - position: absolute; - top: 25px; - right: 5px -} - -.orgchart .node.compact>.node.compact>.backToLooseSymbol { - position: absolute; - top: 23px; - right: 3px -} - -.orgchart .node.compact .backToCompactSymbol::before { - border-top-color: rgba(68,157,68,.6) -} - -.orgchart .node.compact .backToLooseSymbol::before { - border-bottom-color: rgba(68,157,68,.6) -} - -.orgchart .node.compact .backToCompactSymbol:hover::before { - border-top-color: #449d44 -} - -.orgchart .node.compact .backToLooseSymbol:hover::before { - border-bottom-color: #449d44 -} - -.oci { - display: inline-block; - position: relative; - font-style: normal; - font-family: Arial -} - -.oci-menu::before { - content: "≡"; - display: inline-block; - width: 1rem; - height: 1rem; - text-align: center; - line-height: 1rem; - color: #000; - font-size: 1rem -} - -.oci-chevron-up::before { - content: ""; - box-sizing: border-box; - width: 10px; - height: 10px; - display: inline-block; - border: 3px solid #000; - transform: rotate(45deg); - border-right: unset; - border-bottom: unset -} - -.oci-chevron-down::before { - content: ""; - box-sizing: border-box; - width: 10px; - height: 10px; - display: inline-block; - border: 3px solid #000; - transform: rotate(45deg); - border-top: unset; - border-left: unset -} - -.oci-chevron-left::before { - content: ""; - box-sizing: border-box; - width: 10px; - height: 10px; - display: inline-block; - border: 3px solid #000; - transform: rotate(45deg); - border-top: unset; - border-right: unset -} - -.oci-chevron-right::before { - content: ""; - box-sizing: border-box; - width: 10px; - height: 10px; - display: inline-block; - border: 3px solid #000; - transform: rotate(45deg); - border-left: unset; - border-bottom: unset -} - -.oci-corner-top-left::before { - content: ""; - display: inline-block; - border-top: 20px solid #000; - border-right: 20px solid transparent -} - -.oci-corner-top-right::before { - content: ""; - display: inline-block; - box-sizing: border-box; - width: 0; - height: 0; - border-top: 20px solid #000; - border-left: 20px solid transparent -} - -.oci-corner-bottom-right::before { - content: ""; - display: inline-block; - box-sizing: border-box; - width: 0; - height: 0; - border-bottom: 20px solid #000; - border-left: 20px solid transparent -} - -.oci-corner-bottom-left::before { - content: ""; - display: inline-block; - box-sizing: border-box; - width: 0; - height: 0; - border-bottom: 20px solid #000; - border-right: 20px solid transparent -} - -.oci-plus-square::before { - content: "﹢"; - display: inline-block; - width: 16px; - height: 16px; - text-align: center; - line-height: 16px; - background-color: #000; - color: #fff; - font-weight: 700 -} - -.oci-minus-square::before { - content: "﹣"; - display: inline-block; - width: 16px; - height: 16px; - text-align: center; - line-height: 16px; - background-color: #000; - color: #fff; - font-weight: 700 -} - -.oci-arrow-square-up::before { - content: "⬆"; - display: inline-block; - width: 1rem; - height: 1rem; - text-align: center; - line-height: 1rem; - background-color: #000; - color: #fff; - font-weight: 700 -} - -.oci-arrow-square-down::before { - content: "⬇"; - display: inline-block; - width: 1rem; - height: 1rem; - text-align: center; - line-height: 1rem; - background-color: #000; - color: #fff; - font-weight: 700 -} - -.oci-info-circle::before { - content: "i"; - display: inline-block; - width: 1rem; - height: 1rem; - border-radius: .5rem; - background-color: #000; - color: #fff; - text-align: center; - font-weight: 700 -} - -.oci-spinner::before { - content: ""; - vertical-align: text-bottom; - display: inline-block; - box-sizing: border-box; - width: 1rem; - height: 1rem; - border: .1rem solid #000; - border-right-color: transparent; - border-radius: .625rem; - animation: oci-infinite-spinning .75s linear infinite -} - -@keyframes oci-infinite-spinning { - from { - transform: rotate(0) - } - - to { - transform: rotate(360deg) - } -} diff --git a/src/pages/org_config.ts b/src/pages/org_config.ts new file mode 100644 index 0000000..659d9c7 --- /dev/null +++ b/src/pages/org_config.ts @@ -0,0 +1,247 @@ +export const orgData = [ + { + dep_name: "镇武装部党委", + depId: 1, + users: [ + { + position: "武装部长", + user_name: "李部长", + userId: 1, + }, + { + position: "教导员", + user_name: "王教导", + userId: 2, + }, + ], + children: [ + { + dep_name: " 武装力量党支部", + depId: 2, + children: [ + { + dep_name: " 文武社区支部", + depId: 3, + children: [ + { + dep_name: " 一小组", + depId: 6, + users: [ + { + position: "一小组长", + user_name: "一小组长1", + userId: 6, + }, + { + position: "二小组长12", + user_name: "二小组长2", + userId: 8, + }, + { + position: "战士", + user_name: "王小三3", + userId: 11, + }, + { + position: "战士", + user_name: "王小四4", + userId: 12, + }, + { + position: "二小组长34", + user_name: "二小组长5", + userId: 8, + }, + { + position: "战士", + user_name: "王小三6", + userId: 11, + }, + { + position: "战士", + user_name: "王小四7", + userId: 13, + }, + ], + }, + { + dep_name: " 二小组", + depId: 7, + users: [ + { + position: "二小组长8", + user_name: "二小组长9", + userId: 7, + }, + { + position: "二小组长10", + user_name: "二小组长11", + userId: 8, + }, + { + position: "战士", + user_name: "王小三14", + userId: 11, + }, + { + position: "战士", + user_name: "王小四", + userId: 12, + }, + ], + }, + ], + users: [ + { + position: "文武社区支部书记", + user_name: "书记名称", + userId: 3, + }, + ], + }, + { + dep_name: " 花龙村支部", + depId: 4, + children: [ + { + dep_name: " 一小组", + depId: 7, + users: [ + { + position: "一小组长", + user_name: "一小组长", + userId: 7, + }, + { + position: "二小组长2", + user_name: "二小组长11", + userId: 8, + }, + { + position: "战士", + user_name: "王小三", + userId: 11, + }, + { + position: "战士", + user_name: "王小四12", + userId: 12, + }, + { + position: "二小组长3", + user_name: "二小组长", + userId: 8, + }, + + { + position: "战士", + user_name: "王小四32", + userId: 12, + }, + ], + }, + { + dep_name: " 二小组", + depId: 8, + users: [ + { + position: "二小组长4", + user_name: "二小组长4", + userId: 8, + }, + { + position: "战士", + user_name: "王小三", + userId: 11, + }, + { + position: "战士", + user_name: "王小四12", + userId: 12, + }, + { + position: "战士", + user_name: "王小五", + userId: 13, + }, + ], + }, + ], + users: [ + { + position: "花龙村支部书记", + user_name: "书记名称", + userId: 4, + }, + ], + }, + { + dep_name: " 云华社区支部", + depId: 5, + children: [ + { + dep_name: " 一小组", + depId: 8, + users: [ + { + position: "一小组长", + user_name: "小组长", + userId: 8, + }, + { + position: "战士", + user_name: "王喜哦", + userId: 12, + }, + { + position: "战士", + user_name: "王喜吃", + userId: 13, + }, + ], + }, + { + dep_name: " 二小组", + depId: 9, + users: [ + { + position: "二小组长5", + user_name: "小组长", + userId: 9, + }, + { + position: "战士", + user_name: "王小二", + userId: 10, + }, + { + position: "战士", + user_name: "王小三", + userId: 11, + }, + { + position: "战士", + user_name: "王小四3", + userId: 12, + }, + { + position: "战士", + user_name: "王小五", + userId: 13, + }, + ], + }, + ], + users: [ + { + position: "云华社区支部书记", + user_name: "书记名称", + userId: 5, + }, + ], + }, + ], + }, + ], + }, +]; \ No newline at end of file diff --git a/src/pages/politicalStudy/index.tsx b/src/pages/politicalStudy/index.tsx index 6ef1f36..cf7a39c 100644 --- a/src/pages/politicalStudy/index.tsx +++ b/src/pages/politicalStudy/index.tsx @@ -5,7 +5,7 @@ import { useEffect, useState } from "react"; import { Store } from "antd/lib/form/interface"; import SimpleForm from "@/components/form/simple_form"; import React from "react"; -import { columns, defaultConfig } from "./political_column"; +import { studyColumns, defaultConfig } from "./political_column"; const PoliticalStudy = (props: Store) => { const { politicalStudyStore } = props; @@ -82,13 +82,11 @@ const PoliticalStudy = (props: Store) => { column_widget(any, record), }, ]} diff --git a/src/pages/politicalStudy/political_column.tsx b/src/pages/politicalStudy/political_column.tsx index 0637d79..02d6a16 100644 --- a/src/pages/politicalStudy/political_column.tsx +++ b/src/pages/politicalStudy/political_column.tsx @@ -1,6 +1,6 @@ import { UserDataType } from "@/model/userModel"; import { ColumnsType } from "antd/lib/table"; -export const columns: ColumnsType = [ +export const studyColumns: ColumnsType = [ { title: "标题", dataIndex: "title", diff --git a/src/pages/user/move.tsx b/src/pages/user/move.tsx new file mode 100644 index 0000000..7161277 --- /dev/null +++ b/src/pages/user/move.tsx @@ -0,0 +1,47 @@ +import MapContainer from "@/components/map/MapComponent"; +import MapUtl from "@/components/map/mapUtil"; +import { Button, Modal } from "antd"; +import { useState } from "react"; + +const Move = () => { + const [isOpen, setOpen] = useState(false); + return ( + <> + + { + setOpen(false); + }} + > +
+ +
+ +
+
+ + ); +}; +export default Move; diff --git a/src/pages/user/user.tsx b/src/pages/user/user.tsx index a5f47a3..216d1fa 100644 --- a/src/pages/user/user.tsx +++ b/src/pages/user/user.tsx @@ -7,10 +7,11 @@ import SimpleForm from "@/components/form/simple_form"; import React from "react"; import { columns, defaultConfig } from "./user_config"; import "./user.less"; +import Move from "./move"; const { Option } = Select; const User = (props: Store) => { - const { usrStore ,depStore} = props; + const { usrStore, depStore } = props; const [isModalOpen, setIsModalOpen] = useState(false); const [projectConfig, setProjectConfig] = useState([]); const formRef = React.useRef(null); @@ -19,39 +20,13 @@ const User = (props: Store) => { const [per, setPer] = useState(null); const [userId, setId] = useState(null); const [depList, setDeplist] = useState([]); - const actionWidget = (any, record) => { - return ( - - - - - - ); - }; const edit = (record) => { record = { ...record, imageUrl: [{ url: record.imageUrl }], }; - setProjectConfig(defaultConfig(team,per)); + setProjectConfig(defaultConfig(team, per)); setIsModalOpen(true); formRef.current?.setFieldsValue(record); setRecord(record); @@ -61,9 +36,9 @@ const User = (props: Store) => { let data = { ...values, }; - if(values.head_img && values.head_img.length>0){ + if (values.head_img && values.head_img.length > 0) { data.head_img = values.head_img[0].url; - }else{ + } else { data.head_img = ""; } if (!userId) { @@ -75,30 +50,29 @@ const User = (props: Store) => { useEffect(() => { usrStore.getlist(); usrStore.getTeam().then((res) => { - let data =res.data?.record??[] + let data = res.data?.record ?? []; for (let index = 0; index < data.length; index++) { - data[index].label = data[index].name; - data[index].value = data[index].identity; + data[index].label = data[index].name; + data[index].value = data[index].identity; } - setTeam(data) + setTeam(data); }); usrStore.getPer().then((res) => { - let data =res.data?.record??[] + let data = res.data?.record ?? []; for (let index = 0; index < data.length; index++) { - data[index].label = data[index].name; - data[index].value = data[index].identity; + data[index].label = data[index].name; + data[index].value = data[index].identity; } - setPer(data) + setPer(data); }); depStore.getlist().then(() => { setDeplist(depStore.list); }); - - }, [usrStore,depStore]); + }, [usrStore, depStore]); const addHandler = () => { - setProjectConfig(defaultConfig(team,per)); + setProjectConfig(defaultConfig(team, per)); setId(null); setIsModalOpen(true); }; @@ -113,18 +87,41 @@ const User = (props: Store) => { actionWidget(any, record), + with: 200, + render: (any, record) => ( + + + + + + + ), }, ]} dataSource={usrStore.list} /> + { initialValues={true} onFinishFailed={onFinishFailed} > - <> + <> { ); }; -export default inject("usrStore","depStore")(observer(User)); +export default inject("usrStore", "depStore")(observer(User)); diff --git a/src/pages/user/user_config.tsx b/src/pages/user/user_config.tsx index 5662f73..bde0dae 100644 --- a/src/pages/user/user_config.tsx +++ b/src/pages/user/user_config.tsx @@ -10,6 +10,7 @@ export const defaultConfig =(team,per)=> name: "user_name", value: "", rules: [{ required: true, message: "请输入用户名称!" }], + }, { type: FormType.radio, @@ -305,7 +306,7 @@ export const columns: ColumnsType = [ { title: "用户名", dataIndex: "user_name", - width: 150, + width: 200, fixed: "left", }, { @@ -313,7 +314,6 @@ export const columns: ColumnsType = [ dataIndex: "sex", width: 150, render: (sex) => {sex === "0" ? "男" : "女"}, - fixed: "left", }, { title: "年龄", diff --git a/src/router/routers/home_router.tsx b/src/router/routers/home_router.tsx index 121b7ad..73891b1 100644 --- a/src/router/routers/home_router.tsx +++ b/src/router/routers/home_router.tsx @@ -22,6 +22,7 @@ import SystemPage from "@/pages/system"; import ArchiveBox from "@/pages/archives/index_box"; import FileListPage from "@/pages/archives/file_list"; import OrgChartSelf from "@/pages/OrgChart"; +import GloryPlaque from "@/pages/glory_plaque"; export const homeRouter = [ { path: "/", @@ -154,6 +155,11 @@ export const homeRouter = [ index: true, element: , }, + { + path: "/admin/sys/gp", + index: true, + element: , + }, ], }, ], diff --git a/src/store/dep.ts b/src/store/dep.ts index ff06be0..41d1089 100644 --- a/src/store/dep.ts +++ b/src/store/dep.ts @@ -1,18 +1,25 @@ -import { makeObservable } from "mobx"; +import { action, makeObservable } from "mobx"; // 用户信息 import BaseStore from "./baseStore"; import { TagDataType } from "@/model/userModel"; +import baseHttp from '@/service/base'; class DepConfig { static LIST: string = "dep/list" static ADD: string = "dep" static DELETE: string = "dep" static EDIT: string = "dep" + static ORG: string = "dep/org" } class DepStore extends BaseStore { constructor() { super(DepConfig) - makeObservable(this, {}) + makeObservable(this, { + getOrg:action + }) + } + async getOrg(){ + return await baseHttp.get(DepConfig.ORG,{}) } } diff --git a/src/store/gp.ts b/src/store/gp.ts new file mode 100644 index 0000000..6cc2c01 --- /dev/null +++ b/src/store/gp.ts @@ -0,0 +1,19 @@ +import { makeObservable } from "mobx"; +// 光荣牌 +import BaseStore from "./baseStore"; +import { TagDataType } from "@/model/userModel"; +class GpConfig { + static LIST: string = "gplaque/list" + static ADD: string = "gplaque" + static DELETE: string = "gplaque" + static EDIT: string = "gplaque" +} +class GpStore extends BaseStore { + constructor() { + super(GpConfig) + makeObservable(this, {}) + } +} +const gpStore = new GpStore() +export default gpStore; + diff --git a/src/store/index.ts b/src/store/index.ts index 0a5f671..fa3ea8d 100644 --- a/src/store/index.ts +++ b/src/store/index.ts @@ -21,6 +21,8 @@ import { trainingStore } from './training'; import { trainingCatStore } from './trainingCat'; import { sysStore } from './sys'; import homeStore from './home'; +import gpStore from './gp'; + const store = { usrStore, @@ -45,7 +47,8 @@ const store = { trainingStore, trainingCatStore, sysStore, - homeStore + homeStore, + gpStore }; export default store; \ No newline at end of file diff --git a/src/store/user.ts b/src/store/user.ts index ba2aee3..7d5db2b 100644 --- a/src/store/user.ts +++ b/src/store/user.ts @@ -3,6 +3,7 @@ import { action, computed, makeObservable, observable } from "mobx"; import baseHttp from "@/service/base"; import BaseStore from "./baseStore"; import { UserDataType, UserInfos } from "@/model/userModel"; +import { message } from "antd"; class UserConfig { static LOGINURI: string = "anth/login" static LIST: string = "user/list" @@ -12,23 +13,23 @@ class UserConfig { static pover: string = "user/userPower" static team: string = "team/list" static per: string = "persMgmt/list" - + } class UserStore extends BaseStore { _userinfo: UserInfos = {}; // 用户信息 userDetail = {} isNeedLogin: boolean = false; // 是否需要登录 - poverDetail:boolean = false; // 是否展示民兵详情 + poverDetail: boolean = false; // 是否展示民兵详情 constructor() { super(UserConfig) makeObservable(this, { logOut: action, login: action, - getTeam:action, - getPer:action, - setPoverDe:action, - setUserDetaul:action, + getTeam: action, + getPer: action, + setPoverDe: action, + setUserDetaul: action, _userinfo: observable, isNeedLogin: observable, poverDetail: observable, @@ -37,20 +38,20 @@ class UserStore extends BaseStore { userInfo: computed, }) } - async getTeam(){ + async getTeam() { return await baseHttp.get(UserConfig.team, null) } - async getPer(){ + async getPer() { return await baseHttp.get(UserConfig.per, null) } - async getPover(){ + async getPover() { return await baseHttp.get(UserConfig.pover, null) } get userInfo(): UserInfos { if (!this._userinfo.token) { let token = window.localStorage.getItem("token") this._userinfo.token = token; - + } return this._userinfo; } @@ -67,6 +68,11 @@ class UserStore extends BaseStore { } try { let data = await baseHttp.post(UserConfig.LOGINURI, param) + if (data.code !== 200) { + message.error(data.msg) + return false + } + window.localStorage.setItem("token", data.data.token ?? ""); return true } catch (error) { @@ -80,10 +86,10 @@ class UserStore extends BaseStore { closeLoginDilog() { this.isNeedLogin = false; } - setPoverDe(status:boolean){ + setPoverDe(status: boolean) { this.poverDetail = status } - setUserDetaul(data){ + setUserDetaul(data) { this.userDetail = data } }