first commit

This commit is contained in:
wang_yp 2025-02-20 10:04:23 +08:00
parent fae77a64c2
commit af787ba1af
5 changed files with 52 additions and 102 deletions

17
git.sh
View File

@ -13,20 +13,3 @@ git push
# scp -r ./card/ root@81.68.81.205:/mnt/www/html/shouka
# rm -rf card/
# task
# pc
# 1、首页统计
# 1、组织架构组织架构图
# 2、武装力量 报表
# 3、年度训练 查看档案
# 4、物资管理 处突
# 5、档案管理 报表
# 6、评优
# 7
# 2、物资借用以及归还
# 3、任务关联档案
# app
# 1、退伍军人 列表 详情 申请领取光荣牌
# 2、接收任务
# 3、任务列表

View File

@ -1,96 +1,47 @@
import React, { useEffect, useState } from "react";
import { Button, Space, Modal, FormInstance } from "antd";
import { Space } from "antd";
import { Store } from "antd/lib/form/interface";
import { inject, observer } from "mobx-react";
import BTable from "@/components/b_table";
import SimpleForm from "@/components/form/simple_form";
import { columns, defaultConfig } from "./source_config";
import "./source.less";
import { base as baseHttp } from '@/service/base';
const Source = (props: Store) => {
const { sourceStore } = props;
const [isModalOpen, setIsModalOpen] = useState<boolean>(false);
const formRef = React.useRef<FormInstance>(null);
const [userId, setId] = useState<Number | null>(null);
const [record, setRecord] = useState<any>(null);
const [coloums,setColumns] = useState([])
const [content,setContent] = useState([])
// 获取列表数据
useEffect(() => {
sourceStore.getlist();
sourceStore.getHead().then((res)=>{
res.forEach(element => {
element.dataIndex = "dbs_"+element.identity.toLowerCase()
element.title = element.data_name
});
setColumns(res)
});
sourceStore.geContent().then((res)=>{
res.forEach(element => {
element.key = "dbs_"+element.identity
});
setContent(res)
});
}, [sourceStore]);
const gotoDetail = () => {};
const upload = (f,e) => {
let param = new FormData();
param.append("file", f.target.files[0]);
param.append("identity", e.identity);
baseHttp.upload("public/fts/upload",param)
};
return (
<div className="contentBox">
<Space direction="vertical" size="middle" style={{ display: "flex" }}>
<Button type="default" onClick={() => setIsModalOpen(true)}>
</Button>
<BTable
store={sourceStore}
scroll={{ x: "max-content" }}
columns={columns}
dataSource={sourceStore.list}
columns={coloums}
dataSource={content}
deleteCallback={(id) => {
sourceStore.deleteItem(id);
}}
actionCloumn={(e)=>{
return <>
<Button size="small" onClick={() => gotoDetail()}>
</Button>
<input
type="file"
name="文件上传"
accept=".xlsx"
onChange={(f)=>{
upload(f,e)
}}
/>
</>
}}
editCallback={(record) => {
setIsModalOpen(true);
formRef.current?.setFieldsValue(record);
setRecord(record);
setId(record.id);
}}
/>
<Modal
title={!userId ? "添加数据集" : "编辑数据集"}
width={800}
open={isModalOpen}
afterClose={() => formRef.current?.resetFields()}
onOk={() => formRef.current?.submit()}
okText="确定"
cancelText="取消"
onCancel={() => {
setId(null);
setRecord(null);
setIsModalOpen(false);
}}
>
<SimpleForm
formName={"source_form"}
formRef={formRef}
colProps={25}
onFinish={() => {
sourceStore.add(formRef.current?.getFieldsValue());
setIsModalOpen(false);
}}
createCallback={() => {
formRef.current?.setFieldsValue(record);
}}
formDatas={defaultConfig as any}
></SimpleForm>
</Modal>
</Space>
</div>
);

View File

@ -19,17 +19,4 @@ export const columns: ColumnsType<UserDataType> = [
dataIndex: "resource_name",
width: 200,
},
{
title: "上传用户",
dataIndex: "user_name",
width: 200,
},
{
title: "上传时间",
dataIndex: "created_at",
width: 200,
render: (created_at) => (
<span>{dayjs(created_at).format("YYYY-MM-DD")}</span>
),
},
];

View File

@ -1,8 +1,10 @@
class SourceConfig {
static ADD: string = "/desc";
static EDIT: string = "/desc";
static LIST: string = "/desc/list";
static LIST: string = "/desc/content";
static DELETE: string = "/desc";
static Headers: string = "/desc/header";
static Content: string = "/desc/content";
}
export default SourceConfig;

View File

@ -1,14 +1,41 @@
import { makeObservable } from "mobx";
import { action, makeObservable, observable } from "mobx";
import BaseStore from "./baseStore";
import { UserDataType } from "@/model/userModel";
import SourceConfig from "@/service/source_config";
import { base } from "@/service/base";
import { message } from "antd";
class SourceStore extends BaseStore<UserDataType> {
headlist =[]
contentList =[]
constructor() {
super(SourceConfig)
makeObservable(this, {
getHead:action,
headlist:observable,
contentList:observable
})
}
async getHead(){
let res = await base.get(SourceConfig.Headers, {})
if (res.code !== 200) {
message.error(res.msg)
return false
}
this.headlist = res.data.record;
return res.data.record;
}
async geContent(){
let res = await base.get(SourceConfig.Content, {})
if (res.code !== 0) {
message.error(res.msg)
return false
}
this.contentList = res.data;
return res.data;
}
}
const sourceStore = new SourceStore();
export default sourceStore;