Browse Source

fix():修改系统管理bug

tags/PMS_Frontend_v1.0.6-develop
guoxin 1 year ago
parent
commit
da0264d264
  1. 7
      src/assets/css/base.scss
  2. 4
      src/components/layout/Header/index.jsx
  3. 1
      src/pages/SystemMgm/AdminMgm/index.scss
  4. 81
      src/pages/SystemMgm/AdminMgm/loadable.jsx
  5. 9
      src/pages/SystemMgm/AreaManage/ModalAreaAdd/index.jsx
  6. 16
      src/pages/SystemMgm/AreaManage/loadable.jsx
  7. 33
      src/pages/SystemMgm/BusinessConfig/BusinessConf/loadable.jsx
  8. 27
      src/pages/SystemMgm/RoleMgm/loadable.jsx
  9. 2
      src/services/system.js

7
src/assets/css/base.scss

@ -26,7 +26,10 @@ body {
& { overflow: -moz-scrollbars-none; } & { overflow: -moz-scrollbars-none; }
} }
.redLogo{
color: red;
margin-right: 10px;
}
.full-loading { .full-loading {
height: 100%; height: 100%;
width: 100%; width: 100%;
@ -54,7 +57,7 @@ a {
background-color: #3e4557 !important; background-color: #3e4557 !important;
} }
.ant-table.ant-table-bordered > .ant-table-container > .ant-table-content { .ant-table.ant-table-bordered > .ant-table-container > .ant-table-content {
max-height: 715px;
max-height: 680px;
overflow: auto; overflow: auto;
} }
.ant-table-content::-webkit-scrollbar { .ant-table-content::-webkit-scrollbar {

4
src/components/layout/Header/index.jsx

@ -237,9 +237,9 @@ export default function Header(props) {
<Icon type="sanjibumen" /> <Icon type="sanjibumen" />
</li> </li>
</Popover> </Popover>
<li title="换肤" className="skin-icon icon-color" onClick={changeSkin}>
{/* <li title="" className="skin-icon icon-color" onClick={changeSkin}>
<Icon type="pifu" /> <Icon type="pifu" />
</li>
</li> */}
{/* <li title="" className="shouye"> {/* <li title="" className="shouye">
<UserInfo /> <UserInfo />
</li> */} </li> */}

1
src/pages/SystemMgm/AdminMgm/index.scss

@ -26,6 +26,7 @@ $color-primary: var(--color-primary);
display: flex; display: flex;
label { label {
line-height: 31px; line-height: 31px;
} }
} }
.yisa-time { .yisa-time {

81
src/pages/SystemMgm/AdminMgm/loadable.jsx

@ -99,6 +99,19 @@ function AdminMgm(props) {
const handleDeptName = (v) => { const handleDeptName = (v) => {
setAddManage({ ...addManage, deptName: v }) setAddManage({ ...addManage, deptName: v })
}; };
//
const handleRole = (v) => {
setAddManage({ ...addManage, role: v })
};
//
const handleGovernmentType = (v) => {
setGetGovernment(v)
setAddManage({ ...addManage, government_style: v })
}
//
const handleArea = (v) => {
setAddManage({ ...addManage, government_area: v })
}
// //
const onChangeCarType = (e) => { const onChangeCarType = (e) => {
setAddManage({ ...addManage, car_type: e.target.value }) setAddManage({ ...addManage, car_type: e.target.value })
@ -143,6 +156,13 @@ function AdminMgm(props) {
let data = { let data = {
...addManage ...addManage
} }
if (addManage.account == '') {
message.error('请输入登录名')
} else if (addManage.userName == '') {
message.error('请输入姓名')
} else if (addManage.deptName == '') {
message.error('请输入所属部门')
} else {
ajax.addAdminDate(data).then(res => { ajax.addAdminDate(data).then(res => {
if (res.status === 20000) { if (res.status === 20000) {
setImgVisible(false) setImgVisible(false)
@ -161,6 +181,8 @@ function AdminMgm(props) {
} }
}) })
} }
}
// //
const handleColumns = (tab) => { const handleColumns = (tab) => {
let result = [...deployListColumns]; let result = [...deployListColumns];
@ -220,7 +242,7 @@ function AdminMgm(props) {
title: '状态', title: '状态',
render: (text, record) => { render: (text, record) => {
return <> return <>
{record.workState === 1 ? '离职' : '在职'}
{record.workState === 1 ? '在职' : '离职'}
</> </>
} }
}, },
@ -231,7 +253,7 @@ function AdminMgm(props) {
<Popover content={ <Popover content={
<div className="SpecialRecordBtnAdmin"> <div className="SpecialRecordBtnAdmin">
<div onClick={() => { CheckApplyBtn(record) }}>编辑</div> <div onClick={() => { CheckApplyBtn(record) }}>编辑</div>
<div onClick={() => { deleteApplyBtn(record) }}>{record.workState === 1 ? '在职' : '离职'}</div>
<div onClick={() => { deleteApplyBtn(record) }}>{record.workState === 1 ? '离职' : '在职'}</div>
<div onClick={() => { applyBtn(record) }}>重置密码</div> <div onClick={() => { applyBtn(record) }}>重置密码</div>
</div>}> </div>}>
<button className="SpecialAdmin">操作</button> <button className="SpecialAdmin">操作</button>
@ -584,7 +606,7 @@ function AdminMgm(props) {
> >
<div className="addAdmin"> <div className="addAdmin">
<div className="yisa-search"> <div className="yisa-search">
<label>手机号</label>
<label style={{ marginLeft: 15 }}>手机号</label>
<Input <Input
placeholder="请输入手机号" placeholder="请输入手机号"
value={addManage.mobile} value={addManage.mobile}
@ -594,6 +616,7 @@ function AdminMgm(props) {
/> />
</div> </div>
<div className="yisa-search"> <div className="yisa-search">
<div className="redLogo">*</div>
<label>登录名</label> <label>登录名</label>
<Input <Input
placeholder="请输入用户名" placeholder="请输入用户名"
@ -603,11 +626,12 @@ function AdminMgm(props) {
/> />
</div> </div>
<div className="yisa-search"> <div className="yisa-search">
<label>姓名</label>
<div className="redLogo">*</div>
<label style={{ marginLeft: 15 }}>姓名</label>
<Input <Input
placeholder="请输入姓名" placeholder="请输入姓名"
value={addManage.userName} value={addManage.userName}
style={{ width: 260, marginLeft: 42 }}
style={{ width: 260, marginLeft: 26 }}
onChange={handleAddUserName} onChange={handleAddUserName}
/> />
</div> </div>
@ -619,7 +643,7 @@ function AdminMgm(props) {
</Radio.Group> </Radio.Group>
</div> </div>
<div className="yisa-search"> <div className="yisa-search">
<label>邮箱</label>
<label style={{ marginLeft: 15 }}>邮箱</label>
<Input <Input
placeholder="请输入邮箱" placeholder="请输入邮箱"
value={addManage.email} value={addManage.email}
@ -628,6 +652,7 @@ function AdminMgm(props) {
/> />
</div> </div>
<div className="yisa-search"> <div className="yisa-search">
<div className="redLogo">*</div>
<label>所属部门</label> <label>所属部门</label>
<Cascader <Cascader
style={{ width: 260, marginLeft: 14 }} style={{ width: 260, marginLeft: 14 }}
@ -644,6 +669,50 @@ function AdminMgm(props) {
/> />
</div> </div>
<div className="yisa-search"> <div className="yisa-search">
<label>角色</label>
<Select
style={{ width: 260, marginLeft: 42 }}
placeholder="请选择"
value={addManage.role}
options={getRoleData}
onChange={handleRole}
/>
</div>
<div className="yisa-search">
<label>管辖方式</label>
<Select
style={{ width: 260, marginLeft: 14 }}
placeholder="请选择"
value={addManage.government_style}
options={[{
value: 2,
label: '按街管理'
},
{
value: 3,
label: '按区管理'
},]}
onChange={handleGovernmentType}
/>
</div>
<div className="yisa-search">
<label>管辖区域</label>
<Tree
checkable
style={{ width: 260, marginLeft: 14 }}
onCheck={handleArea}
checkedKeys={addManage.government_area}
// onSelect={onSelect}
treeData={getGovernmentArea}
fieldNames={{
title: 'name',
key: 'id',
children: 'children'
}}
/>
</div>
<div className="yisa-search">
<label>管辖车场接入方式</label> <label>管辖车场接入方式</label>
<Radio.Group onChange={onChangeCarType} value={addManage.car_type}> <Radio.Group onChange={onChangeCarType} value={addManage.car_type}>
<Radio value={1}>全部</Radio> <Radio value={1}>全部</Radio>

9
src/pages/SystemMgm/AreaManage/ModalAreaAdd/index.jsx

@ -16,7 +16,7 @@ function ModalAreaAdd (props) {
level, level,
onCancel onCancel
} = props } = props
console.log(pid);
const [form] = Form.useForm() const [form] = Form.useForm()
const [areaType, setAreaType] = useState("1") const [areaType, setAreaType] = useState("1")
@ -100,16 +100,11 @@ function ModalAreaAdd (props) {
</Form.Item> </Form.Item>
) : null ) : null
} }
<Form.Item label="中心点坐标" rules={[{required: true}]}>
<Form.Item label="中心点坐标" >
<Row gutter={8}> <Row gutter={8}>
<Col span={18}> <Col span={18}>
<Form.Item <Form.Item
name="latlng" name="latlng"
rules={[
{
required: true,
},
]}
> >
<Input /> <Input />
</Form.Item> </Form.Item>

16
src/pages/SystemMgm/AreaManage/loadable.jsx

@ -73,7 +73,8 @@ function AreaManage() {
} }
}) })
} }
const handleAreaAdd = ({level, pid, isCity}) => {
const handleAreaAdd = ({ level, id, isCity }) => {
let pid =id
setIsCity(isCity) setIsCity(isCity)
setPid(pid) setPid(pid)
setLevel(Number(level) + 1) setLevel(Number(level) + 1)
@ -150,13 +151,20 @@ function AreaManage() {
return <> return <>
<span className='label-text'>{name}</span> <span className='label-text'>{name}</span>
{ {
children ? (
<PlusCircleOutlined className='label-icon' onClick={() => handleAreaAdd({level, pid, isCity: true})} />
level === 1 ? (
<PlusCircleOutlined className='label-icon' onClick={() => handleAreaAdd({ level, id, isCity: true })} />
) : null ) : null
} }
{ {
level === 2 ? <>
<PlusCircleOutlined className='label-icon' onClick={() => handleAreaAdd({ level, id, isCity: false })} />
<DeleteOutlined className="label-icon" onClick={() => handleAreaDel({ name, id })} />
<EditOutlined className="label-icon" onClick={() => handleAreaEdit({ name, id, virtually_code, code, lng_lat })} />
</> : null
}
{
level > 2 ? <> level > 2 ? <>
<PlusCircleOutlined className='label-icon' onClick={() => handleAreaAdd({level, pid, isCity: false})} />
{/* <PlusCircleOutlined className='label-icon' onClick={() => handleAreaAdd({level, pid, isCity: false})} /> */}
<DeleteOutlined className="label-icon" onClick={() => handleAreaDel({ name, id })} /> <DeleteOutlined className="label-icon" onClick={() => handleAreaDel({ name, id })} />
<EditOutlined className="label-icon" onClick={() => handleAreaEdit({ name, id, virtually_code, code, lng_lat })} /> <EditOutlined className="label-icon" onClick={() => handleAreaEdit({ name, id, virtually_code, code, lng_lat })} />
</> : null </> : null

33
src/pages/SystemMgm/BusinessConfig/BusinessConf/loadable.jsx

@ -45,7 +45,7 @@ function BusinessConf(props) {
// //
const [addManage, setAddManage] = useState({ const [addManage, setAddManage] = useState({
area_name: 0, area_name: 0,
operator_name: 0,
operator_name: "0",
item_name: '' item_name: ''
}) })
const addAdmin = () => { const addAdmin = () => {
@ -66,8 +66,11 @@ function BusinessConf(props) {
const handleConfiguration = (v, option) => { const handleConfiguration = (v, option) => {
setGetMessage(option); setGetMessage(option);
setGetConfiguration(v) setGetConfiguration(v)
setAddManage({ ...addManage, item_name: v })
setAddManage({
...addManage, item_name: v ,
area_name: 0,
operator_name: "0",
})
} }
// //
const onChangeAdd = (e) => { const onChangeAdd = (e) => {
@ -113,21 +116,33 @@ function BusinessConf(props) {
} }
// //
const placeSaveBtn = () => { const placeSaveBtn = () => {
console.log(addManage.parameter);
let data = { let data = {
...addManage ...addManage
} }
if (addManage.area_name === '') {
message.error('请选择城市')
} else if (addManage.operator_name === '') {
message.error('请选择商户名称')
} else if (addManage.item_name === '') {
message.error('请选择配置项')
} else if (addManage.parameter === undefined && addManage.parameterValue === undefined) {
message.error('请选择参数项')
} else {
ajax.addBusiness(data).then(res => { ajax.addBusiness(data).then(res => {
if (res.status === 20000) { if (res.status === 20000) {
setImgVisible(false) setImgVisible(false)
setAddManage({ setAddManage({
area_name: 0, area_name: 0,
operator_name: 0,
operator_name: "0",
item_name: '' item_name: ''
}) })
getData(formData) getData(formData)
setGetConfiguration(0)
} }
}) })
} }
}
// //
const handleColumns = (tab) => { const handleColumns = (tab) => {
let result = [...deployListColumns]; let result = [...deployListColumns];
@ -219,9 +234,10 @@ function BusinessConf(props) {
setImgVisible(false) setImgVisible(false)
setAddManage({ setAddManage({
area_name: 0, area_name: 0,
operator_name: 0,
operator_name: '0',
item_name: '' item_name: ''
}) })
setGetConfiguration(0)
setGetMessage({}) setGetMessage({})
} }
// //
@ -274,7 +290,7 @@ function BusinessConf(props) {
setImgVisible(false) setImgVisible(false)
setAddManage({ setAddManage({
area_name: 0, area_name: 0,
operator_name: 0,
operator_name: '0',
item_name: '' item_name: ''
}) })
setGetMessage({}) setGetMessage({})
@ -346,6 +362,7 @@ function BusinessConf(props) {
if (res.status === 20000) { if (res.status === 20000) {
setEditVisible(false) setEditVisible(false)
getData(formData) getData(formData)
setGetConfiguration(0)
} }
}) })
} }
@ -448,6 +465,7 @@ function BusinessConf(props) {
> >
<div className="addAdmin"> <div className="addAdmin">
<div className="yisa-search"> <div className="yisa-search">
<div className="redLogo">*</div>
<label>城市</label> <label>城市</label>
<Select <Select
style={{ width: 260, marginLeft: 50 }} style={{ width: 260, marginLeft: 50 }}
@ -459,6 +477,7 @@ function BusinessConf(props) {
/> />
</div> </div>
<div className="yisa-search"> <div className="yisa-search">
<div className="redLogo">*</div>
<label>商户名称</label> <label>商户名称</label>
<Select <Select
style={{ width: 260, marginLeft: 22 }} style={{ width: 260, marginLeft: 22 }}
@ -470,6 +489,7 @@ function BusinessConf(props) {
/> />
</div> </div>
<div className="yisa-search"> <div className="yisa-search">
<div className="redLogo">*</div>
<label>配置项</label> <label>配置项</label>
<Select <Select
style={{ width: 260, marginLeft: 35 }} style={{ width: 260, marginLeft: 35 }}
@ -490,6 +510,7 @@ function BusinessConf(props) {
? ?
<> <>
<div className="yisa-search"> <div className="yisa-search">
<div className="redLogo">*</div>
<label>参数</label> <label>参数</label>
<Input <Input
placeholder="请输入" placeholder="请输入"

27
src/pages/SystemMgm/RoleMgm/loadable.jsx

@ -134,7 +134,13 @@ function RoleMgm(props) {
let data = { let data = {
...addManage ...addManage
} }
console.log(data);
if(addManage.name===''){
message.error('请输入角色名称')
}else if(addManage.depart_id===''){
message.error('请选择所属部门')
}else if (addManage.auth === '') {
message.error('必须选择权限')
} else {
ajax.addAdmin(data).then(res => { ajax.addAdmin(data).then(res => {
if (res.status === 20000) { if (res.status === 20000) {
setImgVisible(false) setImgVisible(false)
@ -145,11 +151,15 @@ function RoleMgm(props) {
auth: '' auth: ''
}) })
getData(formData) getData(formData)
setGetGovernment(0)
} else { } else {
message.error(res.message) message.error(res.message)
setGetGovernment(0)
} }
}) })
} }
}
// //
const handleColumns = (tab) => { const handleColumns = (tab) => {
let result = [...deployListColumns]; let result = [...deployListColumns];
@ -281,13 +291,15 @@ function RoleMgm(props) {
setAddManage({ setAddManage({
remark: '', remark: '',
name: '', name: '',
depart_id: [],
depart_id: null,
}) })
setCheckedKeys([]) setCheckedKeys([])
setGetGovernment(0)
} }
const delcancelImg = () => { const delcancelImg = () => {
setEditVisible(false) setEditVisible(false)
setCheckedKeys([]) setCheckedKeys([])
setGetGovernment(0)
} }
// //
const getData = (data = formData) => { const getData = (data = formData) => {
@ -366,15 +378,18 @@ function RoleMgm(props) {
}) })
} }
useEffect(() => { useEffect(() => {
console.log(getGovernment);
if (getGovernment != 0) { if (getGovernment != 0) {
let data = { let data = {
id: getGovernment id: getGovernment
} }
ajax.getDepartId(data).then(res => { ajax.getDepartId(data).then(res => {
if(res.status === 20000){ if(res.status === 20000){
if (res.status == []) {
message.error('部门没有配置对应菜单权限')
}else{
setGetGovernmentArea(res.data) setGetGovernmentArea(res.data)
} }
}
}) })
} }
}, [getGovernment]) }, [getGovernment])
@ -450,6 +465,7 @@ function RoleMgm(props) {
> >
<div className="addAdmin"> <div className="addAdmin">
<div className="yisa-search"> <div className="yisa-search">
<div className="redLogo">*</div>
<label>角色名称</label> <label>角色名称</label>
<Input <Input
placeholder="请输入" placeholder="请输入"
@ -459,7 +475,7 @@ function RoleMgm(props) {
/> />
</div> </div>
<div className="yisa-search"> <div className="yisa-search">
<label>备注</label>
<label style={{marginLeft:15}}>备注</label>
<Input <Input
placeholder="请输入用户名" placeholder="请输入用户名"
value={addManage.remark} value={addManage.remark}
@ -468,11 +484,12 @@ function RoleMgm(props) {
/> />
</div> </div>
<div className="yisa-search"> <div className="yisa-search">
<div className="redLogo">*</div>
<label>所属部门</label> <label>所属部门</label>
<Cascader <Cascader
style={{ width: 260, marginLeft: 50 }} style={{ width: 260, marginLeft: 50 }}
placeholder="请选择" placeholder="请选择"
value={addManage.depart_id}
// value={addManage.depart_id}
options={getPlateColor} options={getPlateColor}
changeOnSelect changeOnSelect
onChange={handleDeptName} onChange={handleDeptName}

2
src/services/system.js

@ -276,7 +276,7 @@ const orgDetailEdit = (params) => {
const getOrgTree = (params) => { const getOrgTree = (params) => {
return ajax({ return ajax({
url: '/api/manage/com/depart_tree', url: '/api/manage/com/depart_tree',
type: 'post',
type: 'get',
data: params data: params
}) })
} }

Loading…
Cancel
Save