This commit is contained in:
wang_yp 2025-07-07 16:35:18 +08:00
parent 9f39ef3e21
commit e534e62d68
9 changed files with 96 additions and 85 deletions

View File

@ -10,7 +10,7 @@ const Dumbselect = (props) => {
return base.get(SourceConfig.Searchs + "/?name=" + username, {}).then((res) => {
return res.data.record.map((item) => ({
label: item.content,
value: item.id_card,
value: item.identity,
}));
});
}

View File

@ -41,7 +41,7 @@ export const defaultConfig = [
},
{
type: FormType.input,
label: "事件开始时间",
label: "事件结束时间",
name: "end_time",
value: "",
rules: [{ required: true, message: "请输入事件开始时间!" }],
@ -54,11 +54,14 @@ export const defaultConfig = [
rules: [{ required: true, message: "请输入影响!" }],
},
{
type: FormType.input,
label: "负责人名称",
type: FormType.select,
label: "负责人选择",
name: "director",
value: "",
rules: [{ required: true, message: "请输入负责人名称!" }],
mode: "",
selectUrl: SourceConfig.Searchs,
keys:"content",
rules: [{ required: false, message: "请选择负责人!" }],
},
{
type: FormType.input,
@ -78,6 +81,7 @@ export const defaultConfig = [
type: FormType.fetchList,
label: "参与人员选择",
name: "part_idCard",
mode: "multiple",
value: [],
selectUrl: SourceConfig.Searchs,
rules: [{ required: false, message: "请选择参与人员!" }],

View File

@ -1,18 +1,20 @@
import { FormType } from "@/components/form/interface";
import SimpleForm from "@/components/form/simple_form"
import { CompanyConfig } from "@/service/user_config";
import { FormInstance } from "antd";
import React from "react";
const Share = () => {
const formRef = React.useRef<FormInstance>(null);
const Share = (props) => {
const { submit, formRef } = props
const onFinish = () => {
submit(formRef.current?.getFieldsValue())
}
const config: any = [
{
type: FormType.cehckbox,
type: FormType.radio,
label: "分享类型",
name: "share_type",
value: [],
selectList: [{ data_name: "事件", identity: 1 }, { data_name: "属性", identity: 2 }],
value: "",
radioData: [{ key: "事件", val: 1 }, { key: "属性", val: 2 }],
rules: [{ required: true, message: "请选择默认数据" }],
},
{
@ -30,9 +32,7 @@ const Share = () => {
formName={"user_form"}
formRef={formRef}
colProps={25}
onFinish={() => {
formRef.current?.getFieldsValue()
}}
onFinish={onFinish}
createCallback={() => {
}}

View File

@ -4,6 +4,7 @@ import {
Checkbox,
Drawer,
Form,
FormInstance,
Input,
message,
Modal,
@ -11,7 +12,6 @@ import {
Popconfirm,
Space,
Table,
Timeline,
Typography,
} from "antd";
import { Store } from "antd/lib/form/interface";
@ -21,10 +21,15 @@ import { DataType } from "@/util/model/interface";
import Upload from "./upload";
import toExcel from "@/util/xmsx";
import Share from "./share";
import Things from "./things";
import React from "react";
const Source = (props: Store) => {
const { sourceStore } = props;
const formRef = React.useRef<FormInstance>(null);
const [form] = Form.useForm();
const [coloums, setColumns] = useState<any>([]);
const [record, setRecord] = useState<any>(null);
const [content, setContent] = useState([]);
const [selectKey, setSelectKey] = useState<Array<string>>([]);
const [page, setPage] = useState<number>(1);
@ -143,10 +148,17 @@ const Source = (props: Store) => {
>
</Typography.Link>
<Typography.Link onClick={() => setOpen(true)}>
<Typography.Link onClick={() => {
setRecord(record)
setOpen(true)
}}>
</Typography.Link>
<Typography.Link onClick={() => setShareOpen(true)}>
<Typography.Link onClick={() => {
setRecord(record)
setShareOpen(true)
}
}>
</Typography.Link>
</Space>
@ -192,7 +204,6 @@ const Source = (props: Store) => {
const onChange: PaginationProps["onChange"] = (page) => {
setPage(page);
console.log(page)
getContent(selectKey, page);
cancel();
};
@ -252,69 +263,28 @@ const Source = (props: Store) => {
loading={loading}
onClose={() => setOpen(false)}
>
<Timeline
items={[
{
children: <div>
<p> </p>
<p> </p>
<p> </p>
<p> </p>
<p></p>
<p> </p>
<p> </p>
<p> 2025-02-12</p>
</div>,
},
{
children: <div>
<p> </p>
<p> </p>
<p> </p>
<p> </p>
<p></p>
<p> </p>
<p> </p>
<p> 2025-03-12</p>
</div>,
},
{
children: <div>
<p> </p>
<p> </p>
<p> </p>
<p> </p>
<p></p>
<p> </p>
<p> </p>
<p> 2025-02-12</p>
<p> 2025-03-12</p>
</div>,
},
{
children: <div>
<p> </p>
<p> </p>
<p> </p>
<p> </p>
<p></p>
<p> </p>
<p> </p>
<p> 2025-02-12</p>
<p> 2025-03-12</p>
</div>,
},
]}
/>
<Things id={record?.idcard_identity} />
</Drawer>
<Modal
open={shareOpen}
title="分享"
onOk={() => { }}
onOk={() => {
formRef.current?.submit()
}}
onCancel={() => { setShareOpen(false) }}
>
<Share />
<Share
formRef={formRef}
submit={async (v) => {
const data = {
...v,
user_identity: record.idcard_identity
}
const res = await sourceStore.share(data)
if (res.code === 200) {
message.success("分享成功")
}
}} />
</Modal>
</div>
);

View File

@ -0,0 +1,31 @@
import { base } from "@/service/base"
import { EventConfig } from "@/service/user_config"
import { Timeline } from "antd"
import { useEffect, useState } from "react"
const Things = (props) => {
const { id } = props
const [item, setItem] = useState([])
useEffect(() => {
base.get(EventConfig.ThingList + "/" + id, {}).then((e) => {
setItem(e.data.record.map((item) => {
return {
children: <div>
<p>{item.name}</p>
<p>{item.content}</p>
<p>{item.effect}</p>
<p>{item.desc}</p>
<p>{item.address}</p>
<p>{item.start_time}</p>
<p>{item.end_time}</p>
</div>
}
}))
});
}, [id])
return (
<Timeline items={item} />
)
}
export default Things

View File

@ -6,6 +6,8 @@ class SourceConfig {
static Headers: string = "/desc/header";
static Content: string = "/desc/content";
static Searchs: string = "/desc/content/idcard";
static share: string = "/share";
}
export default SourceConfig;

View File

@ -6,7 +6,6 @@ class UserConfig {
static DELETE: string = "/user";
static menu: string = "/user/menu";
static used: string = "/user/used";
}
class RoleConfig {
@ -44,8 +43,8 @@ class EventConfig {
static EDIT: string = "/thing";
static LIST: string = "/thing/list";
static DELETE: string = "/thing";
static ThingList: string = "/thing/byIdcard";
}
export { RoleConfig, UserConfig, MenuConfig, DepConfig, CompanyConfig,EventConfig };
export { RoleConfig, UserConfig, MenuConfig, DepConfig, CompanyConfig, EventConfig };

View File

@ -1,4 +1,4 @@
import {base} from "@/service/base";
import { base } from "@/service/base";
import { Pages } from "@/util/model/interface";
import { message } from "antd";
import { action, makeObservable, observable, runInAction } from "mobx";
@ -39,10 +39,10 @@ class BaseStore<B> implements BaseStoreInterface<B> {
await base.delete(this.urlConfig.DELETE + "/" + id, {})
this.getlist()
} catch (error) {
console.log(error);
console.error(error);
}
}
// 分页
setPages(page: Pages) {
this.page = page
@ -60,7 +60,7 @@ class BaseStore<B> implements BaseStoreInterface<B> {
this.getlist(listParam)
return true;
} catch (error) {
console.log(error);
console.error(error);
}
}
@ -75,7 +75,7 @@ class BaseStore<B> implements BaseStoreInterface<B> {
this.getlist(listParam)
return true;
} catch (error) {
console.error(error);
}
}

View File

@ -17,6 +17,11 @@ class SourceStore extends BaseStore<UserDataType> {
contentList: observable
})
}
async share(data) {
return await base.post(SourceConfig.share, {
...data
})
}
async getHead() {
let res = await base.get(SourceConfig.Headers, {})
if (res.code !== 200) {
@ -57,7 +62,7 @@ class SourceStore extends BaseStore<UserDataType> {
runInAction(() => {
this.total = res.data.count;
})
return res.data.record;
}
}