Commit fef51370 authored by 皮倩雯's avatar 皮倩雯

fix: '修改三维配置方案配置关联角色功能'

parent 1bee3c15
Pipeline #50177 skipped with stages
import { Space, Table, Button, Popconfirm, notification, Divider, Checkbox, Spin } from 'antd'; import { Space, Table, Button, Popconfirm, notification, Divider, Checkbox, Spin } from 'antd';
import React, { useState, useEffect } from 'react'; import React, { useState, useEffect, useCallback } from 'react';
import styles from '../dimensionsConfig.less';
import VisibleRoleModal from '@/pages/platformCenter/messageManage/projectManage/components/RolseSelect/VisibleRoleModal'; import VisibleRoleModal from '@/pages/platformCenter/messageManage/projectManage/components/RolseSelect/VisibleRoleModal';
import { PlusOutlined } from '@ant-design/icons'; import { PlusOutlined, UserAddOutlined } from '@ant-design/icons';
import styles from '../dimensionsConfig.less';
import { import {
deleteConfig, deleteConfig,
SettingRoleWebSchema, SettingRoleWebSchema,
...@@ -12,7 +12,7 @@ import { ...@@ -12,7 +12,7 @@ import {
GetSchemaInfoList, GetSchemaInfoList,
IsActionWebSchema, IsActionWebSchema,
} from '@/services/webConfig/api'; } from '@/services/webConfig/api';
import { UserAddOutlined } from '@ant-design/icons'; import RoleModal from '../../schemeConfig/solutionConfig/RoleModal';
import AddModal from './AddModal'; import AddModal from './AddModal';
const VectorData = props => { const VectorData = props => {
const [treeLoading, setTreeLoading] = useState(false); // 弹窗显示 const [treeLoading, setTreeLoading] = useState(false); // 弹窗显示
...@@ -29,6 +29,9 @@ const VectorData = props => { ...@@ -29,6 +29,9 @@ const VectorData = props => {
const [type, setType] = useState(''); // 弹窗类型 const [type, setType] = useState(''); // 弹窗类型
const [checkLoading, setCheckLoading] = useState(false); const [checkLoading, setCheckLoading] = useState(false);
const [formObj, setFormObj] = useState({ user: 'admin', password: 'geoserver' }); const [formObj, setFormObj] = useState({ user: 'admin', password: 'geoserver' });
const [addVisible, setAddVisible] = useState(false);
const [checkValue, setCheckValue] = useState([]);
const columns = [ const columns = [
{ {
title: '默认方案', title: '默认方案',
...@@ -52,18 +55,12 @@ const VectorData = props => { ...@@ -52,18 +55,12 @@ const VectorData = props => {
{ {
title: '关联角色', title: '关联角色',
align: 'center', align: 'center',
render: (text, record, index) => ( render: record => (
<Space> <Space size="middle">
<Space> <UserAddOutlined
<div onClick={() => pickRole(record)} style={{ cursor: 'pointer' }}> onClick={() => pickRole(record)}
<VisibleRoleModal style={{ fontSize: '18px', color: '#1890FF' }}
onSubmit={onPushSubmit} />
title={'关联角色'}
initValues={record.roles != null ? record.roles.split(',') : []}
operate={<UserAddOutlined />}
/>
</div>
</Space>
</Space> </Space>
), ),
}, },
...@@ -151,18 +148,15 @@ const VectorData = props => { ...@@ -151,18 +148,15 @@ const VectorData = props => {
// ]; // ];
// 获取选中的角色 // 获取选中的角色
const onPushSubmit = value => { const onPushSubmit = value => {
let id = []; setAddVisible(false);
if (value.length) { if (value.length) {
id = value.map(item => {
return item.id;
});
let query = { let query = {
schemaname: record.scheme.schemename, schemaname: record.scheme.schemename,
roles: id.join(','), roles: value.join(','),
}; };
SettingRoleWebSchema(query) SettingRoleWebSchema(query)
.then(res => { .then(res => {
if (res.msg === '') { if (res.code === 0) {
prompt('success', '关联角色成功'); prompt('success', '关联角色成功');
setFlag(flag + 1); setFlag(flag + 1);
} else { } else {
...@@ -175,8 +169,12 @@ const VectorData = props => { ...@@ -175,8 +169,12 @@ const VectorData = props => {
} }
}; };
// 获取角色 // 获取角色
const pickRole = record => { const pickRole = e => {
setRecord(record); setRecord(e);
setAddVisible(true);
let arr = e.roles != null ? e.roles.split(',') : [];
console.log(arr);
setCheckValue(arr);
}; };
// 设置web方案 // 设置web方案
const onChangeCheck = (e, record, index) => { const onChangeCheck = (e, record, index) => {
...@@ -395,6 +393,20 @@ const VectorData = props => { ...@@ -395,6 +393,20 @@ const VectorData = props => {
}); });
}; };
const rolCallBack = useCallback(list => {
let strList = [];
if (list.length > 0) {
list.forEach(item => {
console.log(item, 'item');
Object.keys(item.last).forEach(i => {
strList.push(i);
});
});
console.log(strList);
onPushSubmit(strList);
}
});
return ( return (
<> <>
<Spin tip="loading..." spinning={checkLoading}> <Spin tip="loading..." spinning={checkLoading}>
...@@ -458,6 +470,14 @@ const VectorData = props => { ...@@ -458,6 +470,14 @@ const VectorData = props => {
formObj={formObj} formObj={formObj}
listData={schemename} listData={schemename}
/> />
<RoleModal
selectValue={checkValue.toString()}
visible={addVisible}
rolCallBack={roleList => rolCallBack(roleList)}
onCancel={() => {
setAddVisible(false);
}}
/>
</> </>
); );
}; };
......
...@@ -72,6 +72,8 @@ const RoleModal = porps => { ...@@ -72,6 +72,8 @@ const RoleModal = porps => {
} }
}); });
console.log(selectValue, 'selectValue'); console.log(selectValue, 'selectValue');
} else {
setRoleList([]);
} }
}, [visible]); }, [visible]);
// 多选change事件 // 多选change事件
......
...@@ -34,41 +34,6 @@ const VectorData = props => { ...@@ -34,41 +34,6 @@ const VectorData = props => {
const [addVisible, setAddVisible] = useState(false); const [addVisible, setAddVisible] = useState(false);
const [checkValue, setCheckValue] = useState([]); const [checkValue, setCheckValue] = useState([]);
// useEffect(() => {
// // RoleGroupList().then(async res => {
// // let dataArr = {};
// // let tree1 = [];
// // let leafs1 = [];
// // console.log(res.data.roleList);
// // // eslint-disable-next-line no-unused-expressions
// // res.data &&
// // res.data.roleList.map((item, index) => {
// // if (item.roleList.length > 0) {
// // tree1.push({
// // name: item.visibleTitle,
// // id: index,
// // children: item.roleList.map(roleItem => {
// // leafs1.push({
// // name: roleItem.roleName,
// // id: roleItem.roleID,
// // });
// // const leafNode = {
// // name: roleItem.roleName,
// // id: roleItem.roleID,
// // children: [],
// // };
// // return leafNode;
// // }),
// // });
// // }
// // });
// // setTree(tree1);
// // setLeafs(leafs1);
// // console.log(res.data.roleList);
// // console.log(tree1);
// // console.log(leafs1);
// // });
// }, []);
const columns = [ const columns = [
{ {
title: '默认方案', title: '默认方案',
...@@ -201,7 +166,7 @@ const VectorData = props => { ...@@ -201,7 +166,7 @@ const VectorData = props => {
}; };
SetServiceConfig(query) SetServiceConfig(query)
.then(res => { .then(res => {
if (res.msg === 'Ok') { if (res.code === 0) {
prompt('success', '关联角色成功'); prompt('success', '关联角色成功');
setFlag(flag + 1); setFlag(flag + 1);
} else { } else {
......
...@@ -2,14 +2,16 @@ ...@@ -2,14 +2,16 @@
* @Description: * @Description:
* @Author: leizhe * @Author: leizhe
* @Date: 2022-04-06 17:28:30 * @Date: 2022-04-06 17:28:30
* @LastEditTime: 2022-04-15 15:08:11 * @LastEditTime: 2022-05-13 09:54:37
* @LastEditors: leizhe * @LastEditors: leizhe
*/ */
import { get, post, postForm, PUBLISH_SERVICE, WebSERVICE } from '@/services/index'; import { get, post, postForm, PUBLISH_SERVICE, WebSERVICE, CoreSERVICE } from '@/services/index';
export const typeList = param => get(`${WebSERVICE}/ModelType/ModelType/TypeList`, param); export const typeList = param => get(`${WebSERVICE}/ModelType/ModelType/TypeList`, param);
// export const typeList = param => get(`${CoreSERVICE}/ModelType/List`, param);
export const modelManageList = param => get(`${WebSERVICE}/Models/Models/ModelManageList`, param); export const modelManageList = param => get(`${WebSERVICE}/Models/Models/ModelManageList`, param);
// export const modelManageList = param => get(`${CoreSERVICE}/Model/ModelList`, param);
export const SaveUpload = query => export const SaveUpload = query =>
post(`${WebSERVICE}/Models/Models/SaveUpload`, query, { post(`${WebSERVICE}/Models/Models/SaveUpload`, query, {
...@@ -17,6 +19,12 @@ export const SaveUpload = query => ...@@ -17,6 +19,12 @@ export const SaveUpload = query =>
'Content-Type': 'multipart/form-data;charset=UTF-8', 'Content-Type': 'multipart/form-data;charset=UTF-8',
}, },
}); });
// export const SaveUpload = query =>
// post(`${CoreSERVICE}/Model/Save`, query, {
// headers: {
// 'Content-Type': 'multipart/form-data;charset=UTF-8',
// },
// });
export const Save = param => get(`${WebSERVICE}/ModelType/ModelType/Save`, param); export const Save = param => get(`${WebSERVICE}/ModelType/ModelType/Save`, param);
...@@ -32,6 +40,12 @@ export const Import = query => ...@@ -32,6 +40,12 @@ export const Import = query =>
'Content-Type': 'multipart/form-data;charset=UTF-8', 'Content-Type': 'multipart/form-data;charset=UTF-8',
}, },
}); });
// export const Import = query =>
// post(`${CoreSERVICE}/Model/Import`, query, {
// headers: {
// 'Content-Type': 'multipart/form-data;charset=UTF-8',
// },
// });
export const DownLoadModelType = query => export const DownLoadModelType = query =>
`${PUBLISH_SERVICE}/ModelType/DownLoadModelType?modelList=${query.modelList}`; `${PUBLISH_SERVICE}/ModelType/DownLoadModelType?modelList=${query.modelList}`;
......
...@@ -2,7 +2,7 @@ ...@@ -2,7 +2,7 @@
* @Description: * @Description:
* @Author: leizhe * @Author: leizhe
* @Date: 2021-12-23 17:51:09 * @Date: 2021-12-23 17:51:09
* @LastEditTime: 2022-04-14 11:04:59 * @LastEditTime: 2022-05-12 18:51:42
* @LastEditors: leizhe * @LastEditors: leizhe
*/ */
import { request } from '../utils/request'; import { request } from '../utils/request';
...@@ -12,6 +12,7 @@ const CITY_SERVICE = '/Cityinterface/rest/services'; ...@@ -12,6 +12,7 @@ const CITY_SERVICE = '/Cityinterface/rest/services';
const PUBLISH_SERVICE = '/PandaOMS/OMS'; const PUBLISH_SERVICE = '/PandaOMS/OMS';
// export const PUBLISH_SERVICE = '/Publish/GateWay/OMS'; // export const PUBLISH_SERVICE = '/Publish/GateWay/OMS';
const WebSERVICE = '/Publish/Web'; const WebSERVICE = '/Publish/Web';
const CoreSERVICE = '/PandaCore/GCK';
const get = async (url, params, options = {}) => const get = async (url, params, options = {}) =>
request({ request({
url, url,
...@@ -34,4 +35,4 @@ const postForm = async (url, params = {}, options = {}) => { ...@@ -34,4 +35,4 @@ const postForm = async (url, params = {}, options = {}) => {
return post(url, formData, options); return post(url, formData, options);
}; };
export { get, post, postForm, CITY_SERVICE, PUBLISH_SERVICE, WebSERVICE }; export { get, post, postForm, CITY_SERVICE, PUBLISH_SERVICE, WebSERVICE, CoreSERVICE };
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment