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

View File

@ -1,19 +1,19 @@
.preview_container{
.preview_container {
width: 100%;
height: 100%;
display: flex;
align-items: start;
.preview_center{
.preview_center {
width: 10px;
}
.preview_left{
.preview_left {
width: 10%;
height: 100%;
.select{
.select {
background-color: red;
color: #fff;
}
>span{
> span {
display: block;
padding-left: 10px;
cursor: pointer;
@ -21,8 +21,21 @@
line-height: 35px;
}
}
.preview_right{
.preview_right {
width: 75%;
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,7 +11,9 @@ const Turn = (props: Store) => {
const [folderList, setfolderList] = useState<any>([]);
const [imageList, setImageList] = useState<any>([]);
const [imageUrl, setImageUrl] = useState<any>([]);
const [taskId, setTaskId] = useState<any>([]);
const [folderId, setFolderId] = useState<any>([]);
const initChart = (data) => {
var myChart = echarts.init(document.getElementById("xunlian"));
trunEchatConfig(data) && myChart.setOption(trunEchatConfig(data));
@ -30,13 +32,11 @@ const Turn = (props: Store) => {
setisModalOpen(true);
};
const getFolderhandler = (id: string) => {
// trainingStore.getlist();
folderStore?.getFolderList(id).then((res) => {
setfolderList(res?.data?.record ?? []);
});
};
const getAehandler = async (id: string) => {
// trainingStore.getlist();
await folderStore?.getAlist(id).then(() => {
folderStore.alist?.forEach((elem) => {
elem.url = elem.file_url;
@ -73,8 +73,12 @@ const Turn = (props: Store) => {
{trainingStore.list?.map((item) => {
return (
<p
style={{ color: "#fff", cursor: "pointer" }}
style={{
color: item.identity === taskId ? "blue" : "#fff",
cursor: "pointer",
}}
onClick={() => {
setTaskId(item.identity);
getFolderhandler(item.archives_category_identity);
}}
>
@ -90,8 +94,12 @@ const Turn = (props: Store) => {
{folderList?.map((item) => {
return (
<p
style={{ color: "#fff", cursor: "pointer" }}
style={{
color: folderId === item.identity ? "blue" : "#fff",
cursor: "pointer",
}}
onClick={() => {
setFolderId(item.identity)
getAehandler(item.identity);
}}
>
@ -107,9 +115,9 @@ const Turn = (props: Store) => {
{imageList?.map((item) => {
return (
<img
onClick={()=>{
setImageUrl(item.file_url)
}}
onClick={() => {
setImageUrl(item.file_url);
}}
style={{ width: "80px", height: "80px" }}
src={item.file_url}
alt=""
@ -120,7 +128,11 @@ const Turn = (props: Store) => {
</Col>
<Col span={18}>
<div style={{ color: "#fff" }}>
<img style={{ width: "100%", height: "800px" }} src={imageUrl} alt="" />
<img
style={{ width: "100%", height: "800px" }}
src={imageUrl}
alt=""
/>
</div>
</Col>
</Row>

View File

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

View File

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

View File

@ -25,17 +25,17 @@ const PvTable = () => {
<tbody>
<tr onClick={(e) => console.log(e)}>
<td>1</td>
<td>1</td>
<td>1</td>
<td>1</td>
<td>1</td>
<td>1</td>
<td>1</td>
<td>1</td>
<td>1</td>
<td>1</td>
<td>1</td>
<td>1</td>
<td>wang_yp</td>
<td></td>
<td></td>
<td></td>
<td></td>
<td></td>
<td></td>
<td></td>
<td></td>
<td></td>
<td></td>
</tr>
</tbody>
</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 BTable from "@/components/b_table";
import { useEffect, useState } from "react";
@ -7,9 +7,10 @@ import SimpleForm from "@/components/form/simple_form";
import React from "react";
import { columns, defaultConfig } from "./user_config";
import "./user.less";
const { Option } = Select;
const User = (props: Store) => {
const { usrStore } = props;
const { usrStore ,depStore} = props;
const [isModalOpen, setIsModalOpen] = useState<boolean>(false);
const [projectConfig, setProjectConfig] = useState<any>([]);
const formRef = React.useRef<FormInstance>(null);
@ -17,6 +18,7 @@ const User = (props: Store) => {
const [team, setTeam] = useState<any>(null);
const [per, setPer] = useState<any>(null);
const [userId, setId] = useState<Number | null>(null);
const [depList, setDeplist] = useState<any>([]);
const actionWidget = (any, record) => {
return (
<Space wrap>
@ -78,8 +80,6 @@ const User = (props: Store) => {
data[index].label = data[index].name;
data[index].value = data[index].identity;
}
console.log(data);
setTeam(data)
});
usrStore.getPer().then((res) => {
@ -90,8 +90,12 @@ const User = (props: Store) => {
}
setPer(data)
});
depStore.getlist().then(() => {
setDeplist(depStore.list);
});
}, [usrStore]);
}, [usrStore,depStore]);
const addHandler = () => {
setProjectConfig(defaultConfig(team,per));
@ -146,11 +150,30 @@ const User = (props: Store) => {
onFinish={onFinish}
initialValues={true}
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>
</Space>
</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: "是否退役军人不能为空" }],
},
{
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,