优化
This commit is contained in:
4
env.js
4
env.js
@@ -9,8 +9,8 @@ const currentEnv = import.meta.env?.MODE || process.env.NODE_ENV;
|
||||
// 环境配置映射
|
||||
const envConfig = {
|
||||
[ENV.DEV]: {
|
||||
//baseURL: 'http://192.168.2.56:8081',//http://192.168.2.56:8081
|
||||
baseURL: 'http://1.95.137.212:59015',//http://192.168.2.56:8081
|
||||
baseURL: 'http://192.168.2.59:8081',//http://192.168.2.56:8081
|
||||
//baseURL: 'http://1.95.137.212:59015',//http://192.168.2.56:8081
|
||||
WS_URL: 'ws://192.168.2.56:9002/ws/',
|
||||
},
|
||||
[ENV.PROD]: {
|
||||
|
||||
@@ -65,9 +65,11 @@ export default function StationManage() {
|
||||
|
||||
// ====================== 获取场站列表(分页) ======================
|
||||
const getStationData = () => {
|
||||
|
||||
const params = {
|
||||
pageNum: pagination.pageNum,
|
||||
pageSize: pagination.pageSize
|
||||
pageSize: pagination.pageSize,
|
||||
orgId: userInfo?.orgId, // 根据用户所属组织过滤场站
|
||||
};
|
||||
|
||||
getStationList(params).then(res => {
|
||||
|
||||
@@ -46,6 +46,8 @@ export default function UserRolePage() {
|
||||
const [roleDetail, setRoleDetail] = useState(null);
|
||||
const [orgList, setOrgList] = useState([]);
|
||||
const [siteList, setSiteList] = useState([]);
|
||||
// ✅ 控制是否显示所属场站
|
||||
const [showSite, setShowSite] = useState(true);
|
||||
|
||||
// ====================== 统一分页 ======================
|
||||
const [rolePagination, setRolePagination] = useState({
|
||||
@@ -107,6 +109,8 @@ export default function UserRolePage() {
|
||||
const params = {
|
||||
pageNum: userPagination.pageNum,
|
||||
pageSize: userPagination.pageSize,
|
||||
orgId: userInfo?.orgId,
|
||||
siteId: userInfo?.siteId,
|
||||
//userId: userInfo?.userId
|
||||
};
|
||||
getUser(params).then(res => {
|
||||
@@ -126,7 +130,6 @@ export default function UserRolePage() {
|
||||
pageNum: 1, pageSize: 1000,
|
||||
}).then(res => {
|
||||
if (res.code === 200) {
|
||||
|
||||
let sortedRoles = (res.data || []).sort((a, b) => (a.roleSort || 999) - (b.roleSort || 999));
|
||||
setRolesOption(sortedRoles);
|
||||
}
|
||||
@@ -144,9 +147,7 @@ export default function UserRolePage() {
|
||||
// ====================== 初始化加载 ======================
|
||||
useEffect(() => {
|
||||
getMenuData();
|
||||
//getRoleById();
|
||||
getOrgData();
|
||||
|
||||
}, []);
|
||||
|
||||
useEffect(() => {
|
||||
@@ -250,7 +251,7 @@ export default function UserRolePage() {
|
||||
menuIds: allMenuIds,
|
||||
status: 1,
|
||||
roleSort: values.roleSort || 1,
|
||||
roleLevel: values.roleLevel // ✅ 提交用下划线
|
||||
roleLevel: values.roleLevel
|
||||
};
|
||||
if (editRole) params.roleId = editRole.roleId;
|
||||
|
||||
@@ -259,7 +260,6 @@ export default function UserRolePage() {
|
||||
if (res.code == 200) {
|
||||
messageApi.success(editRole ? '编辑成功' : '新增成功');
|
||||
setRoleModalVisible(false);
|
||||
//getRoleById();
|
||||
getRoleData();
|
||||
getRoleForSelect();
|
||||
} else messageApi.error(res.msg || '保存失败');
|
||||
@@ -271,18 +271,27 @@ export default function UserRolePage() {
|
||||
const handleAddUser = () => {
|
||||
setCurrentUser(null);
|
||||
setSiteList([]);
|
||||
setShowSite(true); // ✅ 默认显示
|
||||
form.resetFields();
|
||||
setModalVisible(true);
|
||||
};
|
||||
|
||||
const handleEditUser = (record) => {
|
||||
setCurrentUser(record);
|
||||
// ✅ 1. 先拿到当前用户的角色ID(优先取roles里的,兼容roleId字段)
|
||||
const userRoleId = record.roles?.[0]?.roleId ?? record.roleId;
|
||||
// ✅ 2. 从角色下拉选项里,找到匹配ID的「中文名称」
|
||||
const targetRole = rolesOption.find(item => item.roleId == userRoleId);
|
||||
|
||||
// ✅ 3. 回填表单:roleIds 赋值「角色ID」,确保下拉框显示中文
|
||||
form.setFieldsValue({
|
||||
...record,
|
||||
roleIds: record.roleId || (record.roles?.[0]?.roleId),
|
||||
password: undefined, // 编辑不显示密码
|
||||
roleIds: targetRole?.roleId ?? userRoleId, // 用找到的角色ID(确保匹配)
|
||||
});
|
||||
|
||||
const isOrgAdmin = targetRole?.roleKey == 'manager';
|
||||
setShowSite(!isOrgAdmin);
|
||||
|
||||
setSiteList([]);
|
||||
if (record.orgId) {
|
||||
getSiteByOrg(record.orgId);
|
||||
@@ -351,7 +360,7 @@ export default function UserRolePage() {
|
||||
|
||||
if (currentUser) {
|
||||
params.userId = currentUser.userId;
|
||||
delete params.password; // 编辑不提交密码
|
||||
delete params.password;
|
||||
}
|
||||
|
||||
const api = currentUser ? editUser : addUser;
|
||||
@@ -417,7 +426,6 @@ export default function UserRolePage() {
|
||||
{
|
||||
title: '操作', render: (_, r) => (
|
||||
<Space>
|
||||
{/* 编辑 - 蓝色主色 */}
|
||||
<Button
|
||||
type="text"
|
||||
icon={<EditOutlined style={{ color: '#1890ff' }} />}
|
||||
@@ -425,8 +433,6 @@ export default function UserRolePage() {
|
||||
>
|
||||
编辑
|
||||
</Button>
|
||||
|
||||
{/* 删除 - 红色危险色 */}
|
||||
<Popconfirm
|
||||
onConfirm={() => handleDeleteUser(r.userId)}
|
||||
title="确定删除该用户吗?"
|
||||
@@ -439,8 +445,6 @@ export default function UserRolePage() {
|
||||
删除
|
||||
</Button>
|
||||
</Popconfirm>
|
||||
|
||||
{/* 重置密码 - 橙色醒目色 */}
|
||||
<Button
|
||||
type="text"
|
||||
icon={<UserOutlined style={{ color: '#faad14' }} />}
|
||||
@@ -512,8 +516,6 @@ export default function UserRolePage() {
|
||||
<Space direction="vertical" size={2}>
|
||||
<Text type="secondary">权限:{r.roleKey}</Text>
|
||||
<Text type="secondary">等级:{r.roleLevel || '-'}</Text>
|
||||
{/*<Text type="secondary">排序:{r.roleSort || '-'}</Text>
|
||||
<Text type="secondary">状态:{r.status == 1 ? '正常' : '停用'}</Text>*/}
|
||||
{r.roleKey == "admin1" && <Tag color="red">超级管理员</Tag>}
|
||||
</Space>
|
||||
}
|
||||
@@ -633,7 +635,19 @@ export default function UserRolePage() {
|
||||
<Row gutter={16}>
|
||||
<Col span={12}>
|
||||
<Form.Item name="roleIds" label="分配角色" rules={[{ required: true }]}>
|
||||
<Select placeholder="选择角色">
|
||||
<Select
|
||||
placeholder="选择角色"
|
||||
onChange={(val) => {
|
||||
// ✅ 选择角色时判断是否为机构管理员
|
||||
const role = rolesOption.find(item => item.roleId == val);
|
||||
if (role?.roleKey == 'manager') {
|
||||
setShowSite(false);
|
||||
form.setFieldsValue({ siteId: null });
|
||||
} else {
|
||||
setShowSite(true);
|
||||
}
|
||||
}}
|
||||
>
|
||||
{rolesOption.map(i => <Select.Option key={i.roleId} value={i.roleId}>{i.roleName}</Select.Option>)}
|
||||
</Select>
|
||||
</Form.Item>
|
||||
@@ -659,36 +673,35 @@ export default function UserRolePage() {
|
||||
</Form.Item>
|
||||
</Col>
|
||||
|
||||
<>
|
||||
<Col span={12}>
|
||||
<Form.Item name="orgId" label="所属组织">
|
||||
<Select
|
||||
placeholder="请选择组织"
|
||||
allowClear
|
||||
onChange={(val) => {
|
||||
getSiteByOrg(val);
|
||||
form.setFieldsValue({ siteId: null });
|
||||
}}
|
||||
>
|
||||
{orgList.map(item => (
|
||||
<Select.Option key={item.id} value={item.id}>{item.orgName}</Select.Option>
|
||||
))}
|
||||
</Select>
|
||||
</Form.Item>
|
||||
</Col>
|
||||
|
||||
{/* ✅ 机构管理员不显示所属场站 */}
|
||||
{showSite && siteList.length > 0 && (
|
||||
<Col span={12}>
|
||||
<Form.Item name="orgId" label="所属组织">
|
||||
<Select
|
||||
placeholder="请选择组织"
|
||||
allowClear
|
||||
onChange={(val) => {
|
||||
getSiteByOrg(val);
|
||||
form.setFieldsValue({ siteId: null });
|
||||
}}
|
||||
>
|
||||
{orgList.map(item => (
|
||||
<Select.Option key={item.id} value={item.id}>{item.orgName}</Select.Option>
|
||||
<Form.Item name="siteId" label="所属场站">
|
||||
<Select placeholder="请选择场站" allowClear>
|
||||
{siteList.map(item => (
|
||||
<Select.Option key={item.id} value={item.id}>{item.siteName}</Select.Option>
|
||||
))}
|
||||
</Select>
|
||||
</Form.Item>
|
||||
</Col>
|
||||
|
||||
{siteList.length > 0 && (
|
||||
<Col span={12}>
|
||||
<Form.Item name="siteId" label="所属场站">
|
||||
<Select placeholder="请选择场站" allowClear>
|
||||
{siteList.map(item => (
|
||||
<Select.Option key={item.id} value={item.id}>{item.siteName}</Select.Option>
|
||||
))}
|
||||
</Select>
|
||||
</Form.Item>
|
||||
</Col>
|
||||
)}
|
||||
</>
|
||||
)}
|
||||
</Row>
|
||||
</Form>
|
||||
</Modal>
|
||||
|
||||
Reference in New Issue
Block a user