From 94d3f835065bf111dde8e5b3e02006f27e7b858c Mon Sep 17 00:00:00 2001 From: zhangyx <1254353766@qq.com> Date: Fri, 14 Oct 2022 17:12:30 +0800 Subject: [PATCH] =?UTF-8?q?=E6=96=B0=E7=8E=B0=E5=9C=BA=E4=BA=BA=E5=91=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- config/router_elecEvaluation.ts | 2 +- .../EvalSiteManage/SitePerson/service.ts | 40 -- .../SiteUser/components/AuthorizeModal.tsx | 352 ++++++++++++++++++ .../components/GroupPermission.tsx} | 111 +++--- .../SiteUser/components/SiteGroupModal.tsx | 131 +++++++ .../components/SiteUserModal.tsx} | 135 +++++-- .../SiteUser/components/UserPermission.tsx | 265 +++++++++++++ .../EvalSiteManage/SiteUser/index.tsx | 29 ++ .../EvalSiteManage/SiteUser/service.ts | 168 +++++++++ 9 files changed, 1119 insertions(+), 114 deletions(-) delete mode 100644 src/pages/ElecEvaluation/EvalSiteManage/SitePerson/service.ts create mode 100644 src/pages/ElecEvaluation/EvalSiteManage/SiteUser/components/AuthorizeModal.tsx rename src/pages/ElecEvaluation/EvalSiteManage/{SitePerson/index.tsx => SiteUser/components/GroupPermission.tsx} (60%) create mode 100644 src/pages/ElecEvaluation/EvalSiteManage/SiteUser/components/SiteGroupModal.tsx rename src/pages/ElecEvaluation/EvalSiteManage/{SitePerson/components/SitePersonModal.tsx => SiteUser/components/SiteUserModal.tsx} (55%) create mode 100644 src/pages/ElecEvaluation/EvalSiteManage/SiteUser/components/UserPermission.tsx create mode 100644 src/pages/ElecEvaluation/EvalSiteManage/SiteUser/index.tsx create mode 100644 src/pages/ElecEvaluation/EvalSiteManage/SiteUser/service.ts diff --git a/config/router_elecEvaluation.ts b/config/router_elecEvaluation.ts index 6f63442..bf8b76d 100644 --- a/config/router_elecEvaluation.ts +++ b/config/router_elecEvaluation.ts @@ -54,7 +54,7 @@ export const elecBidEvaluation = [ routes: [ {//评标现场管理->评标场所人员维护 path: '/ElecEvaluation/EvalSiteManage/SitePerson', - component: './ElecEvaluation/EvalSiteManage/SitePerson' + component: './ElecEvaluation/EvalSiteManage/SiteUser' }, {//评标现场管理->人员报道情况查询 path: '/ElecEvaluation/EvalSiteManage/PersonReport', diff --git a/src/pages/ElecEvaluation/EvalSiteManage/SitePerson/service.ts b/src/pages/ElecEvaluation/EvalSiteManage/SitePerson/service.ts deleted file mode 100644 index 00fe843..0000000 --- a/src/pages/ElecEvaluation/EvalSiteManage/SitePerson/service.ts +++ /dev/null @@ -1,40 +0,0 @@ -import request from '@/utils/request'; -/** - * 查询数据并分页 - * @param params - */ -export async function getList(params?: any) { - return request('/api/biz-service-ebtp-evaluation/v1/eval/room/site/person/page', { - method: 'get', - params, - }); -} - - -export async function getPlaceList() { // 列表 - return request('/api/biz-service-ebtp-evaluation/v1/elec/eval/place/userlimit/list', { - method: 'get', - }); -} - -/** - * 新增 - * @param params - */ -export async function saveSitePerson(data?: any) { - return request('/api/biz-service-ebtp-evaluation/v1/eval/room/site/person/save', { - method: 'post', - data: data - }); -} - -/** - * 删除 - * @param params - */ -export async function delSitePerson(id?: any) { - return request('/api/biz-service-ebtp-evaluation/v1/eval/room/site/person/delete?id='+id, { - method: 'post', - }); -} - diff --git a/src/pages/ElecEvaluation/EvalSiteManage/SiteUser/components/AuthorizeModal.tsx b/src/pages/ElecEvaluation/EvalSiteManage/SiteUser/components/AuthorizeModal.tsx new file mode 100644 index 0000000..3870360 --- /dev/null +++ b/src/pages/ElecEvaluation/EvalSiteManage/SiteUser/components/AuthorizeModal.tsx @@ -0,0 +1,352 @@ +import React, { useEffect, useRef, useState } from 'react'; +import { Form, Input, Modal, Spin, Button, RadioChangeEvent, Popconfirm, message, DatePicker } from 'antd'; +import { getAuthorizeList, cancelAuthorize, addAuthorize } from '../service'; +import ProTable, { ActionType, ProColumns } from '@ant-design/pro-table'; +import moment from 'moment'; +import { dateTimeFormatter } from '@/utils/DateUtils'; + + +interface AuthorizeModalProps { + title: any; + modalVisible: boolean; + values: any; + type: any; + level: any; + // onSubmit: any; + onCancel: () => void; +} +const layout = { + labelCol: { span: 7 }, + wrapperCol: { span: 12 }, +}; +const AuthorizeModal: React.FC = (props) => { + const actionRef = useRef(); + //查看页弹窗visible + const [form] = Form.useForm(); + const { title, modalVisible, values, type, level, onCancel } = props;//, onSubmit: handleUpdate + //loading + const [loading, setLoading] = useState(false); + const [value, setValue] = useState("1"); + //授权相关 + const [authorizeList, setAuthorizeList] = useState([]); //已授权区域信息 + const [unAuthorizeList, setUnAuthorizeList] = useState([]); //未授权区域信息 + const [timeModalVisible, setTimeModalVisible] = useState(false); + const [modelform] = Form.useForm(); + + const onChange = (e: RadioChangeEvent) => { + console.log('radio checked', e.target.value); + setValue(e.target.value); + }; + + + useEffect(() => { + console.log(values) + console.log(type) + getAuthList() + }, [values]) + + + // 编辑页面赋值 + const getAuthList = () => { + //查询当前已授权未授权区域 + getAuthorizeList(values.id).then(res => { + if (res.code == 200) { + setAuthorizeList(res.data.authorizeAreaList) + setUnAuthorizeList(res.data.unauthorizeAreaList) + } + }); + } + const authorizeColumns: ProColumns[] = [ + { + title: '序号', + valueType: 'index', + width: '7%', + }, + { + title: '区域名称', + dataIndex: 'areaName', + key: 'areaName', + width: '20%', + }, + { + title: '区域类型', + dataIndex: 'areaType', + key: 'areaType', + width: '10%', + }, + { + title: '类型', + dataIndex: 'busiType', + key: 'busiType', + width: '10%', + }, + { + title: '权限有效时间', + dataIndex: 'startDateStr', + key: 'startDateStr', + width: '10%', + hideInTable: type === 'site_manager', + }, + { + title: '权限结束时间', + dataIndex: 'endDateStr', + key: 'endDateStr', + width: '10%', + hideInTable: type === 'site_manager', + }, + { + title: '操作', + valueType: 'option', + width: '8%', + render: (text, record, _, action) => ( + { delAuthorize(record.id); }} okText="确定" cancelText="取消" > 取消授权 + ), + }, + ]; + const unAuthorizeColumns: ProColumns[] = [ + { + title: '序号', + valueType: 'index', + width: '7%', + }, + { + title: '区域名称', + dataIndex: 'areaName', + key: 'areaName', + width: '20%', + }, + { + title: '区域类型', + dataIndex: 'areaType', + key: 'areaType', + width: '10%', + render: (text: any, record: any) => { + if (record.areaType == "eval_room") { + return (<>评标室) + } else if (record.areaType == "report_area") { + return (<>报道区) + } else { + return (<>) + } + } + }, + { + title: '类型', + dataIndex: 'busiType', + key: 'busiType', + width: '10%', + render: (text: any, record: any) => { + if (type == "site_manager") { + return (<>现场管理人员) + } else { + return (<>现场临时人员) + } + } + }, + { + title: '操作', + valueType: 'option', + width: '8%', + render: (text: any, record: any) => { + if (type == "site_manager") { + return (<> savaAuth(record)}>授权) + } else { + return (<> addTempAuthModule(record)}>授权) + } + } + }, + ]; + + + // 临时权限区域授权时间页面赋值 + const addTempAuthModule = (item: any) => { + modelform.setFieldsValue({ + "areaId": item.id, + "placeId": item.placeId, + "areaType": item.areaType, + "busiId": values.id, + "busiType": level + }) + setTimeModalVisible(true) + setLoading(false); + } + const delAuthorize = (id: any) => { // 删除 + setLoading(true); + cancelAuthorize(id).then(res => { + if (res.code == 200) { + setLoading(false); + message.success('成功'); + actionRef.current?.reload(); + getAuthList(); + modelform.resetFields() + } else { + setLoading(false); + } + }).finally(() => { + setLoading(false); + });; + } + //临时权限区域授权 + const savaTempAuth = async () => { + + if (moment(modelform.getFieldValue("authorizeEndDate")).format(dateTimeFormatter) <= moment(modelform.getFieldValue("authorizeStartDate")).format(dateTimeFormatter)) { + message.info("结束时间需晚于开始时间"); + return; + } + const modelFromData = { + "areaId": modelform.getFieldValue("areaId"), + "placeId": modelform.getFieldValue("placeId"), + "busiId": modelform.getFieldValue("busiId"), + "busiType": modelform.getFieldValue("busiType"), + "areaType": modelform.getFieldValue("areaType"), + "authorizeStartDate": modelform.getFieldValue("authorizeStartDate").format("yyyy-MM-DD HH:mm:ss").toString(), + "authorizeEndDate": modelform.getFieldValue("authorizeEndDate").format("yyyy-MM-DD HH:mm:ss").toString() + } + setLoading(true); + addAuthorize(modelFromData).then(res => { + if (res?.code == 200) { + setLoading(false); + setTimeModalVisible(false); + message.success('成功'); + actionRef.current?.reload(); + getAuthList(); + modelform.resetFields() + } else { + setLoading(false); + } + }); + } + //管理权限区域授权 + const savaAuth = (item: any) => { + const modelFromData = { + "areaId": item.id, + "placeId": item.placeId, + "areaType": item.areaType, + "busiId": values.id, + "busiType": level + } + setLoading(true); + addAuthorize(modelFromData).then(res => { + if (res?.code == 200) { + setLoading(false); + setTimeModalVisible(false); + message.success('成功'); + actionRef.current?.reload(); + getAuthList(); + modelform.resetFields() + } else { + setLoading(false); + } + }); + } + + const renderFooter = () => { + return ( + <> + + + ); + } + const rule = (mes: any) => {//创建修改 规则 + return [ + { + required: true, + message: `请录入${mes}`, + }, + ] + } + function disabledDate(current: any) {//日期选择 + // Can not select days before today and today + return current && current < moment().startOf('day'); + } + + return ( + <> + onCancel()} + width={"60%"} + centered + footer={renderFooter()} + > + + +
+

已授权区域信息

+
+ + +
+

未授权区域信息

+
+ +
+
+ setTimeModalVisible(false)} + onOk={() => savaTempAuth()} + width={800} + footer={[ + , + , + ]} + > + +
+ + + + + + +
+
+
+ + ); +}; + +export default AuthorizeModal; diff --git a/src/pages/ElecEvaluation/EvalSiteManage/SitePerson/index.tsx b/src/pages/ElecEvaluation/EvalSiteManage/SiteUser/components/GroupPermission.tsx similarity index 60% rename from src/pages/ElecEvaluation/EvalSiteManage/SitePerson/index.tsx rename to src/pages/ElecEvaluation/EvalSiteManage/SiteUser/components/GroupPermission.tsx index 79208ac..ed3d0af 100644 --- a/src/pages/ElecEvaluation/EvalSiteManage/SitePerson/index.tsx +++ b/src/pages/ElecEvaluation/EvalSiteManage/SiteUser/components/GroupPermission.tsx @@ -1,12 +1,12 @@ import React, { useEffect, useRef, useState } from 'react'; import ProTable, { ActionType } from '@ant-design/pro-table'; -import { getList, saveSitePerson, delSitePerson, getPlaceList } from './service'; +import { getGroupPageList, saveSiteGroup, delSiteGroup, getAuthorizeList } from '../service'; import { Button, Card, Form, message, Spin, Popconfirm } from 'antd'; -import SitePersonModal from './components/SitePersonModal'; -import { downloadFile } from '@/utils/DownloadUtils'; +import SiteGroupModal from './SiteGroupModal'; +import AuthorizeModal from './AuthorizeModal'; -const SitePersonList: React.FC<{}> = () => { +const GroupPermission: React.FC<{}> = () => { const checkRelationRef = useRef(); //操作数据后刷新列表 const [isEditModalVisible, setIsEditModalVisible] = useState(false) //控制新增或编辑模态框是否显示 const [form] = Form.useForm();//新增模块form @@ -14,10 +14,11 @@ const SitePersonList: React.FC<{}> = () => { //单条数据 const [editForm, setEditForm] = useState({}); const [spinning, setSping] = useState(false);//加载遮罩 - const [placeList, setPlaceList] = useState([]); //省分公司信息 - //下拉框是否可编辑 - const [placeFormDisabled, setPlaceFormDisabled] = useState(false); const [type, setType] = useState('cease');//弹窗类型 + + //授权相关 + const [authorizeList, setAuthorizeList] = useState([]); //授权区域信息 + const [isAuthorizeModalVisible, setAuthorizeModalVisible] = useState(false) //控制授权模态框是否显示 let typename = "新增"; @@ -25,40 +26,33 @@ const SitePersonList: React.FC<{}> = () => { { title: '序号', valueType: 'index', - width: 80, + width: '10%', search: false, }, - // { - // title: '评标场所编号', - // dataIndex: 'eroomNum', - // }, { - title: '评标场所名称', - dataIndex: 'eroomName', - search: false, - }, - // { - // title: '人员类型', - // dataIndex: 'bank', - // }, - { - title: '人员姓名', - dataIndex: 'personName', + title: '分组名称', + dataIndex: 'groupName', + width: '30%', }, { - title: '身份证号', - dataIndex: 'identityCard', - width: 300, - ellipsis: true, + title: '分组类型', + dataIndex: 'groupType', + width: '30%', + valueEnum: { + "site_manager": { text: '现场管理人员' }, + "site_temp": { text: '现场临时人员' }, + } }, { title: '操作', search: false, + width: '30%', render: (text: any, record: any) => { return ( <> setFormVals(record)}>编辑 - { delPerson(record.id); }} okText="确定" cancelText="取消" > 删除 + setAuthorize(record)}>授权管理 + { delPerson(record.id); }} okText="确定" cancelText="取消" > 删除 ) } @@ -67,7 +61,7 @@ const SitePersonList: React.FC<{}> = () => { const delPerson = (id: any) => { // 删除 setSping(true); - delSitePerson(id).then(res => { + delSiteGroup(id).then(res => { if (res.code == 200) { setSping(false); message.success('删除成功'); @@ -81,6 +75,15 @@ const SitePersonList: React.FC<{}> = () => { });; } + // 授权 + const setAuthorize = (item: any) => { + selectAuthorizeList(item.id) + typename = "编辑"; + setEditForm(item); + setAuthorizeModalVisible(true) + setSping(false); + } + // 编辑页面赋值 const setFormVals = (item: any) => { typename = "编辑"; @@ -97,20 +100,24 @@ const SitePersonList: React.FC<{}> = () => { setSping(false); } - - useEffect(() => { - //查询当前人员权限下所有评标场所 - getPlaceList().then(res => { + // 查询授权区域信息集合 + const selectAuthorizeList = (id: any) => { + //查询当前人员权限下所有现场分组 + getAuthorizeList(id).then(res => { if (res.code == 200) { - setPlaceList(res.data) + setAuthorizeList(res.data) } }); + } + + + useEffect(() => { }, []) return ( <> +
- = () => { pageNo: params.current, } return new Promise((resolve, reject) => { - getList(trueParams).then(res => { + getGroupPageList(trueParams).then(res => { if (res.code === 200) { resolve({ data: res.data.records, @@ -153,19 +160,16 @@ const SitePersonList: React.FC<{}> = () => { }} pagination={{ defaultPageSize: 10, showSizeChanger: false }}//默认显示条数 /> - - {/* 新增及编辑银行账号Modal */} + {/* 新增及编辑Modal */} { isEditModalVisible ? - { - await saveSitePerson(value).then((res: any) => { + await saveSiteGroup(value).then((res: any) => { if (res.success === true) { message.success("保存成功!"); setIsEditModalVisible(false); @@ -179,13 +183,30 @@ const SitePersonList: React.FC<{}> = () => { setIsEditModalVisible(!isEditModalVisible); setEditForm({}); }} - > + > + : null + } + {/* 授权Modal */} + { + isAuthorizeModalVisible ? + { + setAuthorizeModalVisible(!isAuthorizeModalVisible); + setEditForm({}); + }} + > : null } +
); } -export default SitePersonList; \ No newline at end of file +export default GroupPermission; \ No newline at end of file diff --git a/src/pages/ElecEvaluation/EvalSiteManage/SiteUser/components/SiteGroupModal.tsx b/src/pages/ElecEvaluation/EvalSiteManage/SiteUser/components/SiteGroupModal.tsx new file mode 100644 index 0000000..2023216 --- /dev/null +++ b/src/pages/ElecEvaluation/EvalSiteManage/SiteUser/components/SiteGroupModal.tsx @@ -0,0 +1,131 @@ +import React, { useEffect, useState } from 'react'; +import { Form, Input, Modal, Spin, Button, Radio, RadioChangeEvent, Popconfirm } from 'antd'; + + +interface SitePersonModalProps { + title: any; + modalVisible: boolean; + values: any; + onSubmit: any; + type: string; + onCancel: () => void; +} +const layout = { + labelCol: { span: 7 }, + wrapperCol: { span: 12 }, +}; +const SitePersonModal: React.FC = (props) => { + const [form] = Form.useForm(); + const { title, modalVisible, type, values, onSubmit: handleUpdate, onCancel } = props; + //loading + const [loading, setLoading] = useState(false); + const [value, setValue] = useState("1"); + + const onChange = (e: RadioChangeEvent) => { + console.log('radio checked', e.target.value); + setValue(e.target.value); + }; + + + useEffect(() => { + console.log(values) + if (JSON.stringify(values) !== "{}") { + form.setFieldsValue({ + "id": values.id, + "groupName": values.groupName, + "groupType": values.groupType, + }); + } + }, [values]) + + + + const onOk = async () => { + const fieldsValue = await form.validateFields(); + setLoading(true) + await handleUpdate({ ...fieldsValue }).finally(() => { + setLoading(false) + }); + }; + + + const renderFooter = () => { + if (type == "read") { + return ( + <> + + + ); + } else { + return ( + <> + { onOk(); }} + okText="确定" + cancelText="取消" > + + + + + ); + } + } + + return ( + onCancel()} + width={"60%"} + centered + footer={renderFooter()} + > + +
+ + + + + + {/* 1-男性,2-女性 */} + + 现场管理人员 + 现场临时人员 + + + +
+
+
+ ); +}; + +export default SitePersonModal; diff --git a/src/pages/ElecEvaluation/EvalSiteManage/SitePerson/components/SitePersonModal.tsx b/src/pages/ElecEvaluation/EvalSiteManage/SiteUser/components/SiteUserModal.tsx similarity index 55% rename from src/pages/ElecEvaluation/EvalSiteManage/SitePerson/components/SitePersonModal.tsx rename to src/pages/ElecEvaluation/EvalSiteManage/SiteUser/components/SiteUserModal.tsx index a295baf..7dc3a2c 100644 --- a/src/pages/ElecEvaluation/EvalSiteManage/SitePerson/components/SitePersonModal.tsx +++ b/src/pages/ElecEvaluation/EvalSiteManage/SiteUser/components/SiteUserModal.tsx @@ -1,5 +1,5 @@ import React, { useEffect, useState } from 'react'; -import { Form, Input, Modal, Spin, Select, Button, Radio, RadioChangeEvent } from 'antd'; +import { Form, Input, Modal, Spin, Select, Button, Radio, RadioChangeEvent, Popconfirm } from 'antd'; import ExpertPhotoUpload from '@/components/ElecBidEvaluation/ExpertPhotoUpload'; @@ -11,7 +11,7 @@ interface SitePersonModalProps { onSubmit: any; type: string; onCancel: () => void; - placeList: any[]; + groupList: any[]; } const layout = { labelCol: { span: 7 }, @@ -19,25 +19,41 @@ const layout = { }; const SitePersonModal: React.FC = (props) => { const [form] = Form.useForm(); - const { title, modalVisible, formDisabled, type, values, onSubmit: handleUpdate, onCancel, placeList } = props; + const { title, modalVisible, formDisabled, type, values, onSubmit: handleUpdate, onCancel, groupList } = props; //loading const [loading, setLoading] = useState(false); - const [value, setValue] = useState("1"); - const onChange = (e: RadioChangeEvent) => { + const [sexValue, setSexValue] = useState("1"); + const onSexChange = (e: RadioChangeEvent) => { console.log('radio checked', e.target.value); - setValue(e.target.value); + setSexValue(e.target.value); + }; + + const [typeValue, setTypeValue] = useState(""); + const onTypeChange = (e: RadioChangeEvent) => { + console.log('radio checked', e.target.value); + setTypeValue(e.target.value); + }; + + const [groupValue, setGroupValue] = useState(""); + const onGroupChange = (e: RadioChangeEvent) => { + console.log('radio checked', e.target.value); + setGroupValue(e.target.value); }; useEffect(() => { if (JSON.stringify(values) !== "{}") { + setGroupValue(values.groupStatus); form.setFieldsValue({ "id": values.id, - "evalPlaceId": { label: values.eroomName, value: values.evalPlaceId }, + "groupStatus": values.groupStatus, + "groupId": { label: values.groupName, value: values.groupId }, "facePic": values.facePic, "sex": values.sex, + "personType": values.personType, "personName": values.personName, + "workUnit": values.workUnit, "identityCard": values.identityCard }); } @@ -48,8 +64,10 @@ const SitePersonModal: React.FC = (props) => { const onOk = async () => { const fieldsValue = await form.validateFields(); setLoading(true) - fieldsValue["evalPlaceId"] = fieldsValue.evalPlaceId.value console.log(fieldsValue) + if (fieldsValue.groupStatus == 1) { + fieldsValue["groupId"] = fieldsValue.groupId.value + } fieldsValue["facePicName"] = fieldsValue.personName // await getFileListByBid(fieldsValue.facePic).then(res => { @@ -72,7 +90,14 @@ const SitePersonModal: React.FC = (props) => { } else { return ( <> - + { onOk(); }} + okText="确定" + cancelText="取消" > + + ); @@ -99,24 +124,6 @@ const SitePersonModal: React.FC = (props) => { - - - = (props) => { > + + {/* 0-否,1-是 */} + + + + + + + {groupValue == "1" ? + + + + : null + } + + {groupValue == "0" ? + + + 现场管理人员 + 现场临时人员 + + + : null + } + + = (props) => { ]} > {/* 1-男性,2-女性 */} - + 男性 女性 + + + + = () => { + const checkRelationRef = useRef(); //操作数据后刷新列表 + const [isEditModalVisible, setIsEditModalVisible] = useState(false) //控制新增或编辑模态框是否显示 + const [form] = Form.useForm();//新增模块form + // const [editForm] = Form.useForm();//编辑模块form + //单条数据 + const [editForm, setEditForm] = useState({}); + const [spinning, setSping] = useState(false);//加载遮罩 + const [groupList, setGroupList] = useState([]); //省分公司信息 + //下拉框是否可编辑 + const [groupFormDisabled, setGroupFormDisabled] = useState(false); + const [type, setType] = useState('cease');//弹窗类型 + + //授权相关 + const [authorizeList, setAuthorizeList] = useState([]); //授权区域信息 + const [isAuthorizeModalVisible, setAuthorizeModalVisible] = useState(false) //控制授权模态框是否显示 + + let typename = "新增"; + + + const columns: any = [ + { + title: '序号', + valueType: 'index', + width: 80, + search: false, + }, + { + title: '人员姓名', + dataIndex: 'personName', + }, + { + title: '身份证号', + dataIndex: 'identityCard', + width: 300, + ellipsis: true, + }, + { + title: '分组名称', + dataIndex: 'groupName', + search: false, + }, + { + title: '单位', + dataIndex: 'workUnit', + search: false, + }, + { + title: '人员类型', + dataIndex: 'personType', + valueEnum: { + "site_manager": { text: '现场管理人员' }, + "site_temp": { text: '现场临时人员' }, + } + }, + { + title: '操作', + search: false, + render: (text: any, record: any) => { + // 是否关联分组:0-否,1-是 + if (record.groupStatus == '0') { + return ( + <> + setFormVals(record)}>编辑 + setAuthorize(record)}>授权管理 + { delUser(record.id); }} okText="确定" cancelText="取消" > 删除 + + ) + } else if (record.groupStatus == '1') { + return ( + <> + setFormVals(record)}>编辑 + { delUser(record.id); }} okText="确定" cancelText="取消" > 删除 + + ) + } else { + return(<>) + } + } + }, + ] + + const delUser = (id: any) => { // 删除 + setSping(true); + delSiteUser(id).then(res => { + if (res.code == 200) { + setSping(false); + message.success('删除成功'); + checkRelationRef.current?.reload(); + } else { + setSping(false); + form.resetFields() + } + }).finally(() => { + setSping(false); + });; + } + + // 授权 + const setAuthorize = (item: any) => { + selectAuthorizeList(item.id) + typename = "编辑"; + setEditForm(item); + setAuthorizeModalVisible(true) + setSping(false); + } + + // 编辑页面赋值 + const setFormVals = (item: any) => { + typename = "编辑"; + selectGroupList(); + setEditForm(item); + setType("edit"); + setIsEditModalVisible(true) + setSping(false); + } + + // 新增页面 + const insertSiteUser = () => { + selectGroupList(); + setType("insert"); + setIsEditModalVisible(true) + setSping(false); + } + + // 查询分组集合 + const selectGroupList = () => { + //查询当前人员权限下所有现场分组 + getGroupList().then(res => { + if (res.code == 200) { + setGroupList(res.data) + } + }); + } + + + // 查询授权区域信息集合 + const selectAuthorizeList = (id: any) => { + //查询当前人员权限下所有现场分组 + getAuthorizeList(id).then(res => { + if (res.code == 200) { + setAuthorizeList(res.data) + } + }); + } + + useEffect(() => { + }, []) + + return ( + <> +
+ + + [ + ...dom.reverse(), + , + ], + }} + + request={(params) => { + let trueParams = { + ...params, + pageNo: params.current, + } + return new Promise((resolve, reject) => { + getUserList(trueParams).then(res => { + if (res.code === 200) { + resolve({ + data: res.data.records, + success: res.success, + total: res.data.total, + }) + } else { + resolve({ + data: [], + success: false, + total: 0, + }) + } + }) + }); + }} + pagination={{ defaultPageSize: 10, showSizeChanger: false }}//默认显示条数 + /> + {/* 新增及编辑银行账号Modal */} + { + isEditModalVisible ? + { + await saveSiteUser(value).then((res: any) => { + if (res.success === true) { + message.success("保存成功!"); + setIsEditModalVisible(false); + setEditForm({}); + // getSiteUser(); + checkRelationRef.current?.reload(); + } + }); + }} + onCancel={() => { + setIsEditModalVisible(!isEditModalVisible); + setEditForm({}); + }} + > + : null + } + {/* 授权Modal */} + { + isAuthorizeModalVisible ? + { + // await saveSiteGroup(value).then((res: any) => { + // if (res.success === true) { + // message.success("保存成功!"); + // setAuthorizeModalVisible(false); + // setEditForm({}); + // // getSitePerson(); + // checkRelationRef.current?.reload(); + // } + // }); + // }} + onCancel={() => { + setAuthorizeModalVisible(!isAuthorizeModalVisible); + setEditForm({}); + }} + > + : null + } + + +
+ + ); +} +export default UserPermission; \ No newline at end of file diff --git a/src/pages/ElecEvaluation/EvalSiteManage/SiteUser/index.tsx b/src/pages/ElecEvaluation/EvalSiteManage/SiteUser/index.tsx new file mode 100644 index 0000000..75ba79e --- /dev/null +++ b/src/pages/ElecEvaluation/EvalSiteManage/SiteUser/index.tsx @@ -0,0 +1,29 @@ +import { Card, Tabs } from 'antd'; +import React, { useState } from 'react'; +import GroupPermission from './components/GroupPermission'; +import UserPermission from './components/UserPermission'; +import '@/assets/zjl_style.less'; +const SiteUserTab: React.FC<{}> = () => { + const [keys, setKeys] = useState('1'); + const { TabPane } = Tabs; + const onChange = (data: any) => { + setKeys(data); + }; + return ( + + + + {keys == '1' ? : null} + + + {keys == '2' ? : null} + + + + ); +}; +export default SiteUserTab; diff --git a/src/pages/ElecEvaluation/EvalSiteManage/SiteUser/service.ts b/src/pages/ElecEvaluation/EvalSiteManage/SiteUser/service.ts new file mode 100644 index 0000000..e6806a8 --- /dev/null +++ b/src/pages/ElecEvaluation/EvalSiteManage/SiteUser/service.ts @@ -0,0 +1,168 @@ +import request from '@/utils/request'; + + +/** + * 查询分组数据并分页 + * @param params + */ + export async function getGroupPageList(params?: any) { + return request('/api/biz-service-ebtp-evaluation/v1/eval/room/site/group/page', { + method: 'get', + params, + }); +} + +/** + * 新增分组 + * @param params + */ +export async function saveSiteGroup(data?: any) { + return request('/api/biz-service-ebtp-evaluation/v1/eval/room/site/group/save', { + method: 'post', + data: data + }); +} + +/** + * 删除分组 + * @param params + */ +export async function delSiteGroup(id?: any) { + return request('/api/biz-service-ebtp-evaluation/v1/eval/room/site/group/delete?id='+id, { + method: 'post', + }); +} +/** + * 查询现场人员数据并分页 + * @param params + */ +export async function getUserList(params?: any) { + return request('/api/biz-service-ebtp-evaluation/v1/eval/room/site/user/page', { + method: 'get', + params, + }); +} + +/** + * 新增现场人员 + * @param params + */ +export async function saveSiteUser(data?: any) { + return request('/api/biz-service-ebtp-evaluation/v1/eval/room/site/user/save', { + method: 'post', + data: data + }); +} + +/** + * 删除现场人员 + * @param params + */ +export async function delSiteUser(id?: any) { + return request('/api/biz-service-ebtp-evaluation/v1/eval/room/site/user/delete?id='+id, { + method: 'post', + }); +} + +/** + * 查询分组 + * @param params + */ +export async function getGroupList() { + return request('/api/biz-service-ebtp-evaluation/v1/eval/room/site/group/list', { + method: 'get', + }); +} + + +/** + * 查询授权信息 + * @param params + */ + export async function getAuthorizeList(id?: any) { + return request('/api/biz-service-ebtp-evaluation/v1/eval/room/site//authorize/info?id='+id, { + method: 'get', + }); +} + +/** + * 取消授权 + * @param params + */ +export async function cancelAuthorize(id?: any) { + return request('/api/biz-service-ebtp-evaluation/v1/eval/room/site/authorize/cancel?id='+id, { + method: 'post', + }); +} + +/** + * 取消授权 + * @param params + */ +export async function addAuthorize(params: any) { + return request('/api/biz-service-ebtp-evaluation/v1/eval/room/site/authorize/add', { + method: 'POST', + data:params + }); +} + + + + + + + + + + + + + + + + + + + + + + +/** + * 查询数据并分页 + * @param params + */ +export async function getList(params?: any) { + return request('/api/biz-service-ebtp-evaluation/v1/eval/room/site/person/page', { + method: 'get', + params, + }); +} + + +export async function getPlaceList() { // 列表 + return request('/api/biz-service-ebtp-evaluation/v1/elec/eval/place/userlimit/list', { + method: 'get', + }); +} + +/** + * 新增 + * @param params + */ +export async function saveSitePerson(data?: any) { + return request('/api/biz-service-ebtp-evaluation/v1/eval/room/site/person/save', { + method: 'post', + data: data + }); +} + +/** + * 删除 + * @param params + */ +export async function delSitePerson(id?: any) { + return request('/api/biz-service-ebtp-evaluation/v1/eval/room/site/person/delete?id='+id, { + method: 'post', + }); +} +