Commit bb31bde6 authored by 李腾's avatar 李腾

fix: 优化权限代码&&修改修改密码接口

parent f571275c
/** @name 商品管理 */
// 商品库
export const GOOD_MANAGE = {
LIST: {
name: '商品列表',
id: '020101',
apis: [],
},
EDITABLE: {
name: '新增/修改',
id: '020102',
apis: [],
},
LIST: '020101',
EDITABLE: '020102',
};
// 配送区域
export const DISTRIBUTION_AREA = {
LIST: {
name: '配送区域列表',
id: '020201',
apis: [],
},
EDITABLE: {
name: '新增/修改',
id: '020202',
apis: [],
},
LIST: '020201',
EDITABLE: '020202',
};
/** @name 订单管理 */
//待发货订单
export const PENDING_DELIVERY_ORDER = {
LIST: {
name: '待发货订单列表',
id: '020301',
apis: [],
},
EDITABLE: {
name: '新增/修改',
id: '020302',
apis: [],
},
LIST: '020301',
EDITABLE: '020302',
};
// 已发货订单
export const DELIVERY_ORDER = {
LIST: {
name: '已发货',
id: '020401',
apis: [],
},
EDITABLE: {
name: '新增/修改',
id: '020402',
apis: [],
},
LIST: '020401',
EDITABLE: '020402',
};
// 批量发货
export const BATCH_DELIVERY = {
LIST: {
name: '批量发货',
id: '020501',
apis: [],
},
EDITABLE: {
name: '新增/修改',
id: '020502',
apis: [],
},
LIST: '020501',
EDITABLE: '020502', // 新增/修改
};
// 订单查询
export const QUERY_ORDER = {
LIST: {
name: '订单查询列表',
id: '020601',
apis: [],
},
EDITABLE: {
name: '新增/修改',
id: '020602',
apis: [],
},
LIST: '020601', // 订单查询列表
EDITABLE: '020602',
};
/** @name 售后地址设置 */
export const AFTER_SALE_ADDRESS = {
LIST: {
name: '地址列表',
id: '030101',
apis: [],
},
EDITABLE: {
name: '新增/修改',
id: '030102',
apis: [],
},
LIST: '030101', // 地址列表
EDITABLE: '030102', // 新增/修改
};
/** @name 货款结算 */
/** @name 售后管理 */
export const AFTER_SALE_ORDER = {
LIST: {
name: '售后订单列表',
id: '050101',
apis: [],
},
EDITABLE: {
name: '新增/修改',
id: '050102',
apis: [],
},
LIST: '050101', // 售后订单列表
EDITABLE: '050102', // 新增/修改
};
/** @name 取消订单审核管理 */
export const CANCEL_BILL_MANAGE = {
LIST: {
name: '取消订单审核列表',
id: '060101',
apis: [],
},
EDITABLE: {
name: '新增/修改',
id: '060102',
apis: [],
},
LIST: '060101', // 取消订单审核列表
EDITABLE: '060102',
};
/** @name 供应商对账结算管理 */
//对账单查询
export const RECONCILIATION_QUERY = {
LIST: {
name: '对账单列表',
id: '070101',
apis: [],
},
EDITABLE: {
name: '新增/修改',
id: '070102',
apis: [],
},
LIST: '070101', // 对账单列表
EDITABLE: '070102', // 新增/修改
};
// 结算单查询
export const SETTLEMENT_SHEET = {
LIST: {
name: '结算单列表',
id: '070201',
apis: [],
},
EDITABLE: {
name: '新增/修改',
id: '070202',
apis: [],
},
LIST: '070201', // 结算单列表
EDITABLE: '070202', // 新增/修改
};
// 付款单查询
export const PAYMENT_MANAGE = {
LIST: {
name: '付款单列表',
id: '070301',
apis: [],
},
EDITABLE: {
name: '新增/修改',
id: '070302',
apis: [],
},
LIST: '070301', // 付款单列表
EDITABLE: '070302', // 新增/修改
};
/** @name 系统管理 */
// 账号管理
export const ACCOUNT_MANAGE = {
LIST: {
name: '账号列表',
id: '010101',
apis: [],
},
EDITABLE: {
name: '新增/修改',
id: '010102',
apis: [],
},
LIST: '010101', // 账户列表
EDITABLE: '010102', // 新增/修改
};
// 角色管理
export const ROLE_MANAGE = {
LIST: {
name: '角色列表',
id: '010201',
apis: [],
},
EDITABLE: {
name: '新增/修改',
id: '010202',
apis: [],
},
LIST: '010201', // 角色列表
EDITABLE: '010202', // 新增/修改
};
......@@ -10,7 +10,7 @@ const { TabPane } = Tabs;
function AfterSale(props) {
const { permissions } = props;
const canEditable = permissions[AFTER_SALE_ORDER.EDITABLE.id];
const canEditable = permissions[AFTER_SALE_ORDER.EDITABLE];
return (
<PageHeaderWrapper>
<Tabs defaultActiveKey="1">
......
......@@ -36,7 +36,7 @@ class goodsManage extends Component {
canEditable = false;
componentDidMount() {
this.canEditable = this.props.permissions[GOOD_MANAGE.EDITABLE.id];
this.canEditable = this.props.permissions[GOOD_MANAGE.EDITABLE];
console.log(111, this.props.permissions, this.canEditable);
this.props.onRef(this);
this.handleSearch();
......
......@@ -70,7 +70,7 @@ class goodsManage extends Component {
componentDidMount() {
this.props.goodsManage.tableData = {};
this.canEditable = this.props.permissions[GOOD_MANAGE.EDITABLE.id];
this.canEditable = this.props.permissions[GOOD_MANAGE.EDITABLE];
this.categoryList();
this.getVirtualCategory();
this.specList();
......
......@@ -23,7 +23,7 @@ const { confirm } = Modal;
const PaymentMange = props => {
const { permissions } = props;
const canEditable = permissions[PAYMENT_MANAGE.EDITABLE.id];
const canEditable = permissions[PAYMENT_MANAGE.EDITABLE];
const actionRef = useRef();
const formRef = useRef();
const [toExamineData, settoExamineData] = useState({});
......
......@@ -12,7 +12,7 @@ import { query, confirmSelfBill, downloadSelfBillDetail } from './service';
const ReconciliationQuery = props => {
const { permissions } = props;
const canEditable = permissions[RECONCILIATION_QUERY.EDITABLE.id];
const canEditable = permissions[RECONCILIATION_QUERY.EDITABLE];
const actionRef = useRef();
const [selectedRowKeys, setselectedRowKeys] = useState([]);
......
......@@ -12,7 +12,7 @@ import { SETTLEMENT_SHEET } from '@/../config/permission.config';
const SettlementSheet = props => {
const { permissions } = props;
const canEditable = permissions[SETTLEMENT_SHEET.EDITABLE.id];
const canEditable = permissions[SETTLEMENT_SHEET.EDITABLE];
const actionRef = useRef();
const [selectedRowKeys, setselectedRowKeys] = useState([]);
const [selectedRowsList, setselectedRowsList] = useState([]);
......
......@@ -13,7 +13,7 @@ const { Option } = Select;
const TableList = props => {
const { permissions } = props;
const canEditable = permissions[AFTER_SALE_ADDRESS.EDITABLE.id];
const canEditable = permissions[AFTER_SALE_ADDRESS.EDITABLE];
const [supplierList, setSupplierList] = useState([]);
const [shopId, setShopId] = useState(null);
const [visible, setVisible] = useState(false);
......
......@@ -11,7 +11,7 @@ const { TabPane } = Tabs;
function CancelBillManage(props) {
const { permissions } = props;
const canEditable = permissions[CANCEL_BILL_MANAGE.EDITABLE.id];
const canEditable = permissions[CANCEL_BILL_MANAGE.EDITABLE];
// const [tabKey, setTabKey] = useState({});
// const changeTab = () => {
// const key = tabKey + 1;
......
......@@ -10,7 +10,7 @@ import { DISTRIBUTION_AREA } from '@/../config/permission.config';
const TableList = props => {
const { permissions } = props;
const canEditable = permissions[DISTRIBUTION_AREA.EDITABLE.id];
const canEditable = permissions[DISTRIBUTION_AREA.EDITABLE];
const [visible, setVisible] = useState(false);
const [templateData, settemplateData] = useState('');
const actionRef = useRef();
......
......@@ -14,7 +14,7 @@ import {
const TableList = props => {
const actionRef = useRef(null);
const { permissions } = props;
const canEditable = permissions[BATCH_DELIVERY.EDITABLE.id];
const canEditable = permissions[BATCH_DELIVERY.EDITABLE];
const columns = [
{
......
......@@ -27,7 +27,7 @@ const TableList = props => {
const { permissions } = props;
// 因待发货 和 已发货都使用当前组件,功能且相同,所以只要授权其中一个均可获得发货物流权限
const canEditable =
permissions[PENDING_DELIVERY_ORDER.EDITABLE.id] || permissions[DELIVERY_ORDER.EDITABLE.id];
permissions[PENDING_DELIVERY_ORDER.EDITABLE] || permissions[DELIVERY_ORDER.EDITABLE];
const [companys, setCompanys] = useState([]);
const [LogisticsModalVisible, handleModalVisible] = useState(false);
const [skuList, setSkuList] = useState([]);
......
......@@ -17,7 +17,7 @@ const { TabPane } = Tabs;
const OrderList = props => {
const { permissions } = props;
const canEditable = permissions[QUERY_ORDER.EDITABLE.id];
const canEditable = permissions[QUERY_ORDER.EDITABLE];
const [loading, setLoading] = useState(false);
const detailModalRef = useRef();
......
......@@ -5,7 +5,7 @@ const { api } = config;
// 商户后台密码修改-校验
export async function passwordRule(params) {
const data = await request.post('/user/ex/validate-password-rule', {
const data = await request.post('/v2/user/password/validate', {
prefix: api,
data: params,
});
......
......@@ -42,7 +42,10 @@ const AddUser = props => {
// 表单验证
const formRules = {
account: [{ required: true, message: '请设置登录用户名' }],
account: [
{ required: true, message: '请设置登录用户名' },
{ pattern: /^[a-zA-Z0-9@\\.]{1,32}$/g, message: '用户名格式错误' },
],
name: [{ required: true, message: '请输入姓名' }],
password: [
{ required: true, message: '请设置密码' },
......@@ -85,6 +88,11 @@ const AddUser = props => {
setRoleList(content);
};
// 获取当前选中的角色id
const getSelectedRoleIds = () => {
const cacheIds = window.sessionStorage.getItem('_selectedRoleIds');
return cacheIds ? JSON.parse(cacheIds) : [];
};
// 获取账户详情
const getAccountDetail = res => {
setLoading(false);
......@@ -94,7 +102,9 @@ const AddUser = props => {
}
console.log(res);
setDetailInfo(res.data);
const { account, name, roleId, organization } = res.data;
const { account, name, organization } = res.data;
const roleId = getSelectedRoleIds();
console.log(roleId);
setFieldsValue({
account,
name,
......@@ -216,7 +226,7 @@ const AddUser = props => {
<div className={style['user-info']}>
<Spin spinning={loading}>
<Form className={style['user-info--form']} {...formLayout}>
<Form.Item label="用户名" extra="限35字符以内,限英文/数字/“@”“ .”">
<Form.Item label="用户名" extra="限32字符以内,限英文/数字/“@”“ .”">
{getFieldDecorator('account', rulesHandler('account'))(
<Input disabled={!!id} placeholder="请输入用户名" maxLength={32} />,
)}
......
import React, { forwardRef, useImperativeHandle, useState, useRef, useEffect } from 'react';
import { Modal, Select, notification } from 'antd';
import { Form } from '@ant-design/compatible';
import { userEnabled, userDisabled } from '@/pages/systemManage/service';
import { userEnabled, userDisabled, userDelete } from '@/pages/systemManage/service';
const FormComponent = props => {
const { record = {}, form } = props;
......@@ -26,10 +26,7 @@ const FormComponent = props => {
<Form {...formLayout}>
<Form.Item label="用户名">{record.name}</Form.Item>
<Form.Item label="状态">
{getFieldDecorator(
'status',
rulesHandler('status'),
)(
{getFieldDecorator('status', rulesHandler('status'))(
<Select>
<Select.Option value={2}>使用中</Select.Option>
<Select.Option value={3}>已禁用</Select.Option>
......@@ -80,7 +77,7 @@ const UpdateStatusModal = (props, ref) => {
}
const apiName = {
// 1: userDelete,
1: userDelete,
2: userEnabled,
3: userDisabled,
};
......
......@@ -53,7 +53,13 @@ export const getColumns = props => {
close: { text: '使用中', status: 2 },
running: { text: '已禁用', status: 3 },
},
render: value => value.name,
render: value => {
const textMapping = {
2: '已使用',
3: '已禁用',
};
return textMapping[value.value] || '-';
},
},
{
title: '操作',
......
......@@ -27,14 +27,29 @@ const Account = props => {
const resetPasswordModal = useRef();
// 权限控制-新增/修改
const canEditable = permissions[ACCOUNT_MANAGE.EDITABLE.id];
const canEditable = permissions[ACCOUNT_MANAGE.EDITABLE];
// 获取当前用户组织信息
const userInfo = JSON.parse(localStorage.getItem('user') || '{}');
// 临时缓存当前账户的角色id
const setSelectedRoleIds = roleIds => {
window.sessionStorage.setItem('_selectedRoleIds', JSON.stringify(roleIds));
};
// 清空临时缓存的角色id
const clearnSelectedRoleIds = () => {
window.sessionStorage.removeItem('_selectedRoleIds');
};
// 新增编辑
const toUserInfo = ({ id } = {}) => {
const toUserInfo = ({ id, roles = [] } = {}) => {
const query = id ? { id } : {};
if (id) {
const roleIds = roles.map(role => role.id);
setSelectedRoleIds(roleIds);
}
history.push({
pathname: '/systemManage/account/userInfo',
query,
......@@ -107,6 +122,10 @@ const Account = props => {
collapseRender: () => null,
};
useEffect(() => {
clearnSelectedRoleIds();
}, []);
return (
<PageHeaderWrapper>
<ProTable actionRef={actionRef} formRef={formRef} {...tableProps} search={false}></ProTable>
......
......@@ -17,7 +17,7 @@ const Role = props => {
const history = useHistory();
// 权限控制
const canEditable = permissions[ROLE_MANAGE.EDITABLE.id];
const canEditable = permissions[ROLE_MANAGE.EDITABLE];
const toRoleInfo = ({ id = null } = {}) => {
const query = id ? { id } : {};
......
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