diff --git a/public/assets/images/touxiang.png b/public/assets/images/touxiang.png
new file mode 100644
index 0000000..088f260
Binary files /dev/null and b/public/assets/images/touxiang.png differ
diff --git a/src/components/Form/DeptTreeSelect_xyt.js b/src/components/Form/DeptTreeSelect_xyt.js
new file mode 100644
index 0000000..09a05ab
--- /dev/null
+++ b/src/components/Form/DeptTreeSelect_xyt.js
@@ -0,0 +1,54 @@
+import React, { Fragment, useRef, useMemo,useEffect,useState } from 'react';
+import { TreeSelect, Card, Button, message } from 'antd';
+import BasicCrudModal from '../../components/crud/BasicCrudModal';
+import apiurl from '../../service/apiurl';
+import { xyt_httpget2 } from '../../utils/request';
+
+const TreePage = ({onChange, value, disabled=false}) => {
+ const refModal = useRef();
+ const [treeData, setTreeData] = useState([]);
+
+
+
+ useEffect(()=>{
+ getTree()
+ },[])
+
+ const getTree = async()=>{
+ const {code, data} = await xyt_httpget2(apiurl.systemManagement.dept.tree)
+ if(code!==200){
+ message.error('请求失败')
+ return
+ }
+ handelTreeData(data)
+ setTreeData(data)
+ }
+
+
+ const handelTreeData = (data) => {
+ if (data.length > 0) {
+ data.forEach(item => {
+ item.title = item.label;
+ item.key = item.id;
+ item.value = item.id;
+ if (item.children && item.children.length > 0) {
+ handelTreeData(item.children);
+ }
+ });
+ }
+ }
+
+
+ return (
+
+ );
+}
+
+export default TreePage;
diff --git a/src/components/crud/BasicCrudModal.js b/src/components/crud/BasicCrudModal.js
index 759645a..26c2755 100644
--- a/src/components/crud/BasicCrudModal.js
+++ b/src/components/crud/BasicCrudModal.js
@@ -70,6 +70,33 @@ showUpdate(record) {
if (this.props.onCrudSuccess) {
this.props.onCrudSuccess();
}
+
+ if (this.props.extraFun) {
+ this.props.extraFun();
+ }
+ } else if (result?.code === 400) {
+ message.error(result?.description);
+
+ }
+ else {
+ message.error(result?.msg||'修改失败');
+ }
+ })
+ }
+
+ onUerEdit = (path, values) => {
+ createCrudService(path).userEdit(values).then((result) => {
+ if (result?.code === 200) {
+ message.success('修改成功');
+ this.setState({ open: false });
+
+ if (this.props.onCrudSuccess) {
+ this.props.onCrudSuccess();
+ }
+
+ if (this.props.extraFun) {
+ this.props.extraFun();
+ }
} else if (result?.code === 400) {
message.error(result?.description);
@@ -107,6 +134,9 @@ showUpdate(record) {
if (this.props.onCrudSuccess) {
this.props.onCrudSuccess();
}
+ if (this.props.extraFun) {
+ this.props.extraFun();
+ }
} else if (result?.code === 400) {
message.error(result?.description||'修改失败');
}
@@ -124,6 +154,7 @@ showUpdate(record) {
if (this.props.onCrudSuccess) {
this.props.onCrudSuccess();
}
+
} else {
message.error(result?.msg||'删除失败');
}
@@ -138,6 +169,26 @@ showUpdate(record) {
if (this.props.onCrudSuccess) {
this.props.onCrudSuccess();
}
+ if (this.props.extraFun) {
+ this.props.extraFun();
+ }
+ } else {
+ message.error(result?.msg||'删除失败');
+ }
+ })
+ }
+
+ onUerDeleteGet = (path, values) => {
+ createCrudService(path).userDel(values).then((result) => {
+ if (result?.code === 200) {
+ message.success('删除成功');
+ this.setState({ open: false });
+ if (this.props.onCrudSuccess) {
+ this.props.onCrudSuccess();
+ }
+ if (this.props.extraFun) {
+ this.props.extraFun();
+ }
} else {
message.error(result?.msg||'删除失败');
}
@@ -215,6 +266,7 @@ showUpdate(record) {
onCrudSuccess={this.props.onCrudSuccess}
record={record}
onEdit={this.onEdit}
+ onUerEdit={this.onUerEdit}
onSave={this.onSave}
onSimilarSave={this.onSimilarSave}
formProps={formProps}
diff --git a/src/components/crud/CrudOpRender.js b/src/components/crud/CrudOpRender.js
index 2099f23..8409e9a 100644
--- a/src/components/crud/CrudOpRender.js
+++ b/src/components/crud/CrudOpRender.js
@@ -38,9 +38,16 @@ export function CrudOpRender_icon({ command, edit, del, restore, add, view }) {
)
}
-export function CrudOpRender_text({ command,modify,edit,del,view}) {
+export function CrudOpRender_text({ command,modify,edit,del,view,status}) {
return (
+ {
+ status ? (
+
+
+
+ ) : null
+ }
{
edit ? (
diff --git a/src/components/crud/_.js b/src/components/crud/_.js
index 1cf0298..4730e9f 100644
--- a/src/components/crud/_.js
+++ b/src/components/crud/_.js
@@ -1,4 +1,4 @@
-import {httppost2, download, httpPostFile, httpget, httpget2,httpget6} from "../../utils/request";
+import {httppost2, download, httpPostFile, httpget, httpget2,httpget6,xyt_httpget2,xyt_httpput,xyt_httpdelete} from "../../utils/request";
import apiurl from "../../service/apiurl";
import {config} from "../../config";
@@ -123,6 +123,22 @@ export async function paginate3(url, params = {}) {
return {list: [], totalRow: 0};
}
+export async function xyt_paginate_noCode(url, params = {}) {
+ const {pageNumber, pageSize, ...ret} = params;
+ const pam = {
+ pageNum:pageNumber,
+ pageSize:pageSize,
+ ...ret
+ }
+ const result = await xyt_httpget2(url, pam);
+ if (result && result.rows) {
+ return {
+ list: result.rows.map((m, index) => ({inx: (pageNumber - 1) * pageSize + index + 1, ...m})),
+ totalRow: result.total
+ };
+ }
+ return {list: [], totalRow: 0};
+}
export function createCrudService(urlSet) {
const find = async (params) => {
@@ -132,6 +148,9 @@ export function createCrudService(urlSet) {
const find_noCode = async (params) => {
return paginate_noCode(urlSet, params);
}
+ const xyt_find_noCode = async (params) => {
+ return xyt_paginate_noCode(urlSet, params);
+ }
const find_nopage = async (params) => {
return paginate_nopage(urlSet, params);
@@ -157,6 +176,11 @@ export function createCrudService(urlSet) {
return resData;
}
+ const userEdit = async (params) => {
+ const resData = await xyt_httpput(urlSet, params) || {};
+ return resData;
+ }
+
const edit1 = async (params) => {
const resData = await httppost2(urlSet, params) || {};
return resData;
@@ -176,6 +200,11 @@ export function createCrudService(urlSet) {
return resData;
}
+ const userDel = async (params) => {
+ const resData = await xyt_httpdelete(urlSet, params) || {};
+ return resData;
+ }
+
const treeList = async (params) => {
const {data} = await httppost2(urlSet, params) || {};
return {list: data, totalRow: data?.length};
@@ -239,15 +268,18 @@ export function createCrudService(urlSet) {
return {
find: find,
find_noCode: find_noCode,
- find_nopage:find_nopage,
+ find_nopage: find_nopage,
+ xyt_find_noCode,
find2: find2,
find3:find3,
list: list,
todo: todo,
save: save,
edit: edit,
+ userEdit,
edit1: edit1,
del: del,
+ userDel,
insert:insert,
delGet:delGet,
upLoad: upLoad,
diff --git a/src/components/fileUpload/index.js b/src/components/fileUpload/index.js
index 7a95b60..0392c07 100644
--- a/src/components/fileUpload/index.js
+++ b/src/components/fileUpload/index.js
@@ -152,9 +152,9 @@ export default function FileUpload({ mode, setFileIds, files, downloadUrl, uploa
}
{file.name}
- deleteFile(file.response?.data?.fileId)}>
+ {mode != 'view' &&
deleteFile(file.response?.data?.fileId)}>
-
+
}
)
diff --git a/src/index.tsx b/src/index.tsx
index b66ddc4..c0d866c 100644
--- a/src/index.tsx
+++ b/src/index.tsx
@@ -1,4 +1,4 @@
-import React from 'react';
+import React, { Suspense } from 'react';
import ReactDOM from 'react-dom/client';
import { ConfigProvider } from 'antd';
import zhCN from 'antd/lib/locale/zh_CN';
@@ -19,7 +19,7 @@ root.render(
-
+
diff --git a/src/models/auth/_.ts b/src/models/auth/_.ts
index cb0313d..fd12618 100644
--- a/src/models/auth/_.ts
+++ b/src/models/auth/_.ts
@@ -175,85 +175,94 @@ export function loadRole(data: any) {
export async function loadMenu(): Promise