fix(amap):core
This commit is contained in:
parent
9248a85e34
commit
941f469032
|
@ -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>
|
||||||
|
|
|
@ -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;
|
||||||
|
}
|
||||||
|
}
|
|
@ -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>
|
||||||
|
|
|
@ -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>
|
||||||
|
|
|
@ -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;
|
||||||
}
|
}
|
||||||
|
|
|
@ -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>
|
||||||
|
|
|
@ -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));
|
||||||
|
|
|
@ -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,
|
||||||
|
|
Loading…
Reference in New Issue