fix(amap):core

This commit is contained in:
wang_yp 2024-10-10 01:58:43 +08:00
parent 9248a85e34
commit 941f469032
8 changed files with 220 additions and 48 deletions

View File

@ -6,10 +6,12 @@ import { useEffect, useState } from "react";
import { Store } from "antd/lib/form/interface"; import { Store } from "antd/lib/form/interface";
import SimpleForm from "@/components/form/simple_form"; import SimpleForm from "@/components/form/simple_form";
import React from "react"; import React from "react";
import MinusCircleOutlined from "@ant-design/icons/lib/icons/MinusCircleOutlined";
import FolderTwoTone from "@ant-design/icons/FolderOpenTwoTone"; import FolderTwoTone from "@ant-design/icons/FolderOpenTwoTone";
import { folderConfig } from "./archives_conf"; import { folderConfig } from "./archives_conf";
import { Form, Select } from "antd"; import { Form, Select } from "antd";
import { useNavigate } from "react-router"; import { useNavigate } from "react-router";
import "./preview.less";
const { Option } = Select; const { Option } = Select;
const ArchivesFolder = (props: Store) => { const ArchivesFolder = (props: Store) => {
const { folderStore, acStore } = props; const { folderStore, acStore } = props;
@ -48,8 +50,9 @@ const ArchivesFolder = (props: Store) => {
setIsModalOpen(false); setIsModalOpen(false);
}; };
const remove = (id: string) => {
folderStore.deleteItem(id);
};
const onFinishFailed = () => {}; const onFinishFailed = () => {};
return ( return (
@ -63,14 +66,27 @@ const ArchivesFolder = (props: Store) => {
<Flex wrap gap="25px" justify="start"> <Flex wrap gap="25px" justify="start">
{Array.from({ length: folderStore.list?.length ?? 0 }, (_, i) => ( {Array.from({ length: folderStore.list?.length ?? 0 }, (_, i) => (
<div <div
className="folder_box"
key={i} key={i}
onClick={() => style={{
//folderHandle(folderStore.list[i]) cursor: "pointer",
nav("/admin/archives/folder/" + folderStore.list[i].identity) width: "120px",
} position: "relative",
style={{ cursor: "pointer", width: "120px" }} }}
> >
<FolderTwoTone rotate={-270} style={{ fontSize: "80px" }} /> <MinusCircleOutlined
onClick={() => {
remove(folderStore.list[i].id);
}}
className="close_icon"
/>
<FolderTwoTone
rotate={-270}
style={{ fontSize: "70px" }}
onClick={() =>
nav("/admin/archives/folder/" + folderStore.list[i].identity)
}
/>
<p style={{ fontSize: "14px" }}> <p style={{ fontSize: "14px" }}>
{folderStore.list[i].folder_name} {folderStore.list[i].folder_name}
</p> </p>

View File

@ -1,19 +1,19 @@
.preview_container{ .preview_container {
width: 100%; width: 100%;
height: 100%; height: 100%;
display: flex; display: flex;
align-items: start; align-items: start;
.preview_center{ .preview_center {
width: 10px; width: 10px;
} }
.preview_left{ .preview_left {
width: 10%; width: 10%;
height: 100%; height: 100%;
.select{ .select {
background-color: red; background-color: red;
color: #fff; color: #fff;
} }
>span{ > span {
display: block; display: block;
padding-left: 10px; padding-left: 10px;
cursor: pointer; cursor: pointer;
@ -21,8 +21,21 @@
line-height: 35px; line-height: 35px;
} }
} }
.preview_right{ .preview_right {
width: 75%; width: 75%;
height: 100%; height: 100%;
} }
} }
.folder_box {
.close_icon {
position: absolute;
top: 10px;
right: 0px;
display: none;
}
}
.folder_box:hover{
.close_icon {
display: inline-block;
}
}

View File

@ -11,6 +11,8 @@ const Turn = (props: Store) => {
const [folderList, setfolderList] = useState<any>([]); const [folderList, setfolderList] = useState<any>([]);
const [imageList, setImageList] = useState<any>([]); const [imageList, setImageList] = useState<any>([]);
const [imageUrl, setImageUrl] = useState<any>([]); const [imageUrl, setImageUrl] = useState<any>([]);
const [taskId, setTaskId] = useState<any>([]);
const [folderId, setFolderId] = useState<any>([]);
const initChart = (data) => { const initChart = (data) => {
var myChart = echarts.init(document.getElementById("xunlian")); var myChart = echarts.init(document.getElementById("xunlian"));
@ -30,13 +32,11 @@ const Turn = (props: Store) => {
setisModalOpen(true); setisModalOpen(true);
}; };
const getFolderhandler = (id: string) => { const getFolderhandler = (id: string) => {
// trainingStore.getlist();
folderStore?.getFolderList(id).then((res) => { folderStore?.getFolderList(id).then((res) => {
setfolderList(res?.data?.record ?? []); setfolderList(res?.data?.record ?? []);
}); });
}; };
const getAehandler = async (id: string) => { const getAehandler = async (id: string) => {
// trainingStore.getlist();
await folderStore?.getAlist(id).then(() => { await folderStore?.getAlist(id).then(() => {
folderStore.alist?.forEach((elem) => { folderStore.alist?.forEach((elem) => {
elem.url = elem.file_url; elem.url = elem.file_url;
@ -73,8 +73,12 @@ const Turn = (props: Store) => {
{trainingStore.list?.map((item) => { {trainingStore.list?.map((item) => {
return ( return (
<p <p
style={{ color: "#fff", cursor: "pointer" }} style={{
color: item.identity === taskId ? "blue" : "#fff",
cursor: "pointer",
}}
onClick={() => { onClick={() => {
setTaskId(item.identity);
getFolderhandler(item.archives_category_identity); getFolderhandler(item.archives_category_identity);
}} }}
> >
@ -90,8 +94,12 @@ const Turn = (props: Store) => {
{folderList?.map((item) => { {folderList?.map((item) => {
return ( return (
<p <p
style={{ color: "#fff", cursor: "pointer" }} style={{
color: folderId === item.identity ? "blue" : "#fff",
cursor: "pointer",
}}
onClick={() => { onClick={() => {
setFolderId(item.identity)
getAehandler(item.identity); getAehandler(item.identity);
}} }}
> >
@ -107,9 +115,9 @@ const Turn = (props: Store) => {
{imageList?.map((item) => { {imageList?.map((item) => {
return ( return (
<img <img
onClick={()=>{ onClick={() => {
setImageUrl(item.file_url) setImageUrl(item.file_url);
}} }}
style={{ width: "80px", height: "80px" }} style={{ width: "80px", height: "80px" }}
src={item.file_url} src={item.file_url}
alt="" alt=""
@ -120,7 +128,11 @@ const Turn = (props: Store) => {
</Col> </Col>
<Col span={18}> <Col span={18}>
<div style={{ color: "#fff" }}> <div style={{ color: "#fff" }}>
<img style={{ width: "100%", height: "800px" }} src={imageUrl} alt="" /> <img
style={{ width: "100%", height: "800px" }}
src={imageUrl}
alt=""
/>
</div> </div>
</Col> </Col>
</Row> </Row>

View File

@ -69,13 +69,6 @@ const PoverPage = (props:Store) => {
<span></span> <span></span>
</div> </div>
</div> </div>
<div className="pv-head-item">
<SnippetsTwoTone style={{ fontSize: 30 }} />
<div>
<div>120</div>
<span></span>
</div>
</div>
<div className="pv-head-item"> <div className="pv-head-item">
<SnippetsTwoTone style={{ fontSize: 30 }} /> <SnippetsTwoTone style={{ fontSize: 30 }} />
<div> <div>

View File

@ -17,6 +17,7 @@
.content-right { .content-right {
width: 85%; width: 85%;
height: 100%; height: 100%;
overflow: auto;
text-align: center; text-align: center;
color: #fff; color: #fff;
} }

View File

@ -25,17 +25,17 @@ const PvTable = () => {
<tbody> <tbody>
<tr onClick={(e) => console.log(e)}> <tr onClick={(e) => console.log(e)}>
<td>1</td> <td>1</td>
<td>1</td> <td>wang_yp</td>
<td>1</td> <td></td>
<td>1</td> <td></td>
<td>1</td> <td></td>
<td>1</td> <td></td>
<td>1</td> <td></td>
<td>1</td> <td></td>
<td>1</td> <td></td>
<td>1</td> <td></td>
<td>1</td> <td></td>
<td>1</td> <td></td>
</tr> </tr>
</tbody> </tbody>
</table> </table>

View File

@ -1,4 +1,4 @@
import { Button, Space, Modal, FormInstance } from "antd"; import { Button, Space, Modal, FormInstance, Form, Select } from "antd";
import { inject, observer } from "mobx-react"; import { inject, observer } from "mobx-react";
import BTable from "@/components/b_table"; import BTable from "@/components/b_table";
import { useEffect, useState } from "react"; import { useEffect, useState } from "react";
@ -7,9 +7,10 @@ import SimpleForm from "@/components/form/simple_form";
import React from "react"; import React from "react";
import { columns, defaultConfig } from "./user_config"; import { columns, defaultConfig } from "./user_config";
import "./user.less"; import "./user.less";
const { Option } = Select;
const User = (props: Store) => { const User = (props: Store) => {
const { usrStore } = props; const { usrStore ,depStore} = props;
const [isModalOpen, setIsModalOpen] = useState<boolean>(false); const [isModalOpen, setIsModalOpen] = useState<boolean>(false);
const [projectConfig, setProjectConfig] = useState<any>([]); const [projectConfig, setProjectConfig] = useState<any>([]);
const formRef = React.useRef<FormInstance>(null); const formRef = React.useRef<FormInstance>(null);
@ -17,6 +18,7 @@ const User = (props: Store) => {
const [team, setTeam] = useState<any>(null); const [team, setTeam] = useState<any>(null);
const [per, setPer] = useState<any>(null); const [per, setPer] = useState<any>(null);
const [userId, setId] = useState<Number | null>(null); const [userId, setId] = useState<Number | null>(null);
const [depList, setDeplist] = useState<any>([]);
const actionWidget = (any, record) => { const actionWidget = (any, record) => {
return ( return (
<Space wrap> <Space wrap>
@ -78,8 +80,6 @@ const User = (props: Store) => {
data[index].label = data[index].name; data[index].label = data[index].name;
data[index].value = data[index].identity; data[index].value = data[index].identity;
} }
console.log(data);
setTeam(data) setTeam(data)
}); });
usrStore.getPer().then((res) => { usrStore.getPer().then((res) => {
@ -91,7 +91,11 @@ const User = (props: Store) => {
setPer(data) setPer(data)
}); });
}, [usrStore]); depStore.getlist().then(() => {
setDeplist(depStore.list);
});
}, [usrStore,depStore]);
const addHandler = () => { const addHandler = () => {
setProjectConfig(defaultConfig(team,per)); setProjectConfig(defaultConfig(team,per));
@ -146,11 +150,30 @@ const User = (props: Store) => {
onFinish={onFinish} onFinish={onFinish}
initialValues={true} initialValues={true}
onFinishFailed={onFinishFailed} onFinishFailed={onFinishFailed}
/> >
<>
<Form.Item
key="dep_identity"
label="部门选择"
name="dep_identity"
rules={[{ required: true, message: "请选择部门!" }]}
>
<Select placeholder="">
{depList?.map((v: any) => {
return (
<Option key={v.identity} value={v.identity}>
{v.dep_name}
</Option>
);
})}
</Select>
</Form.Item>
</>
</SimpleForm>
</Modal> </Modal>
</Space> </Space>
</div> </div>
); );
}; };
export default inject("usrStore")(observer(User)); export default inject("usrStore","depStore")(observer(User));

View File

@ -171,6 +171,120 @@ export const defaultConfig =(team,per)=>
], ],
rules: [{ required: true, message: "是否退役军人不能为空" }], rules: [{ required: true, message: "是否退役军人不能为空" }],
}, },
{
type: FormType.date,
label: "入伍时间",
name: "vet_in_time",
value: "",
},
{
type: FormType.date,
label: "退伍时间",
name: "vet_out_time",
value: "",
},
{
type: FormType.radio,
label: "单位类型",
name: "o_type",
value: 0,
radioData: [
{
key: "机关单位",
val: 1,
},
{
key: "企事业单位",
val: 2,
},
],
rules: [{ required: true, message: "单位类型不能为空" }],
},
{
type: FormType.radio,
label: "积极力量",
name: "a_member",
value: 0,
radioData: [
{
key: "是",
val: 1,
},
{
key: "否",
val: 2,
},
],
rules: [{ required: true, message: "积极力量不能为空" }],
},
{
type: FormType.radio,
label: "专业队伍",
name: "p_team",
value: 0,
radioData: [
{
key: "是",
val: 1,
},
{
key: "否",
val: 2,
},
],
rules: [{ required: true, message: "专业队伍不能为空" }],
},
{
type: FormType.radio,
label: "民兵类型",
name: "militia_type",
value: 0,
radioData: [
{
key: "基干民兵",
val: 1,
},
{
key: "普通民兵",
val: 2,
},
],
rules: [{ required: true, message: "民兵类型不能为空" }],
},
{
type: FormType.radio,
label: "是否为社干力量",
name: "c_member",
value: 0,
radioData: [
{
key: "是",
val: 1,
},
{
key: "否",
val: 2,
},
],
rules: [{ required: true, message: "请选择" }],
},
{
type: FormType.radio,
label: "三方力量",
name: "o_member",
value: 0,
radioData: [
{
key: "是",
val: 1,
},
{
key: "否",
val: 2,
},
],
rules: [{ required: true, message: "请选择" }],
},
{ {
type: FormType.textarea, type: FormType.textarea,