@@ -241,6 +241,27 @@ export default [ | |||
], | |||
}, | |||
{ | |||
name: '授权管理', | |||
icon: 'BankFilled', | |||
path: '/authorization', | |||
routes: [ | |||
{ | |||
name: '平台授权', | |||
icon: 'smile', | |||
path: '/authorization/platformAuthorization', | |||
component: './authorization/platformAuthorization', | |||
access: 'k12', | |||
}, | |||
{ | |||
name: '店铺授权', | |||
icon: 'smile', | |||
path: '/authorization/storeAuthorization', | |||
component: './authorization/storeAuthorization', | |||
access: 'k12', | |||
} | |||
], | |||
}, | |||
{ | |||
path: '/', | |||
redirect: '/welcome', | |||
@@ -0,0 +1,114 @@ | |||
import React, { useState, useRef } from 'react'; | |||
import { Modal, Button, message, Popconfirm, Typography } from 'antd'; | |||
import { PageContainer, FooterToolbar } from '@ant-design/pro-layout'; | |||
import { PlusOutlined } from '@ant-design/icons'; | |||
import ProTable from '@ant-design/pro-table'; | |||
const { Paragraph, Text } = Typography; | |||
import { PageAuthorization, AddAuthorization, UpdateAuthorization } from "./services" | |||
const App = () => { | |||
const actionRef = useRef(); | |||
const [ModalVisible, handleModalVisible] = useState(false); | |||
const [currentRow, setCurrentRow] = useState(); | |||
const columns = [ | |||
{ | |||
title: '主键', | |||
dataIndex: 'id', | |||
hideInSearch: true, | |||
hideInTable: true, | |||
tip: '规则名称是唯一的 key' | |||
}, | |||
{ | |||
title: 'TenantId', | |||
dataIndex: 'groupId', | |||
valueType: 'textarea', | |||
search: false, | |||
render: (text) => <Paragraph style={{ display: 'inline' }} copyable>{text}</Paragraph>, | |||
}, | |||
{ | |||
title: '授权码', | |||
dataIndex: 'key', | |||
valueType: 'textarea', | |||
search: false, | |||
render: (text) => <Paragraph style={{ display: 'inline' }} copyable>{text}</Paragraph>, | |||
}, | |||
{ | |||
title: '操作', | |||
dataIndex: 'option', | |||
valueType: 'option', | |||
fixed: 'right', | |||
width: 450, | |||
render: (_, record) => [ | |||
<Popconfirm | |||
type="primary" | |||
key="primary" | |||
title="确认更新吗?" | |||
okText="是" | |||
cancelText="否" | |||
onConfirm={() => { | |||
UpdateAuthorization(record.id).then((r) => { | |||
if (r.statusCode == 200 && r.data) { | |||
actionRef.current.reload(); | |||
message.success("修改成功"); | |||
} else { | |||
message.error(r.errors || "修改失败"); | |||
} | |||
}); | |||
}} | |||
onCancel={() => { }} | |||
> | |||
<a href="#">更新</a> | |||
</Popconfirm>, | |||
], | |||
}, | |||
]; | |||
return ( | |||
<PageContainer host header={{ title: '', breadcrumb: {}, }}> | |||
<ProTable | |||
actionRef={actionRef} | |||
rowKey="id" | |||
pagination={{ defaultPageSize: 10 }} | |||
search={{ | |||
labelWidth: 120, | |||
}} | |||
toolBarRender={() => [ | |||
<Button | |||
type="primary" | |||
key="primary" | |||
onClick={() => { | |||
AddAuthorization().then((r) => { | |||
if (r.statusCode == 200 && r.data) { | |||
message.success("添加成功"); | |||
actionRef.current.reload(); | |||
} else { | |||
message.error(r.errors || "添加失败"); | |||
} | |||
}); | |||
}} > | |||
<PlusOutlined /> 添加授权码 | |||
</Button>, | |||
]} | |||
request={async (params) => { | |||
var data = []; | |||
var total = 0; | |||
await PageAuthorization(params).then((r) => { | |||
total = r.data.total; | |||
data = r.data.data; | |||
}); | |||
return { | |||
data: data, | |||
success: true, | |||
total: total, | |||
}; | |||
}} | |||
columns={columns} | |||
/> | |||
</PageContainer> | |||
); | |||
}; | |||
export default App; |
@@ -0,0 +1,30 @@ | |||
import { request } from 'umi'; | |||
import { getDataBaseUrl,GetkitchbaseUrl } from '@/global_data'; | |||
/** 获取平台授权码 */ | |||
export async function PageAuthorization(data) { | |||
return request(getDataBaseUrl()+`/api/authorization/pageauthorization`, { | |||
method: 'POST', | |||
data: data, | |||
}); | |||
} | |||
/** 添加平台授权码 */ | |||
export async function AddAuthorization(data) { | |||
return request(getDataBaseUrl()+`/api/authorization/addauthorization`, { | |||
method: 'POST', | |||
data: data, | |||
}); | |||
} | |||
/** 修改平台授权码 */ | |||
export async function UpdateAuthorization(data) { | |||
return request(getDataBaseUrl()+`/api/authorization/updateauthorization?id=`+data, { | |||
method: 'POST', | |||
data: data, | |||
}); | |||
} | |||
@@ -0,0 +1,160 @@ | |||
import React, { useState, useRef, useEffect } from 'react'; | |||
import { Modal, Button, message, Popconfirm, Typography, Select } from 'antd'; | |||
import { PageContainer, FooterToolbar } from '@ant-design/pro-layout'; | |||
import { PlusOutlined } from '@ant-design/icons'; | |||
import ProTable from '@ant-design/pro-table'; | |||
import { QuestionCircleOutlined } from '@ant-design/icons'; | |||
const { Paragraph, Text } = Typography; | |||
import { PageStoreAuthorization, AddStoreAuthorization, UpdateStoreAuthorization, GetStoreList } from "./services" | |||
const App = () => { | |||
const actionRef = useRef(); | |||
const [ModalVisible, handleModalVisible] = useState(false); | |||
const [currentRow, setCurrentRow] = useState(); | |||
const [storeList, setStoreList] = useState([]); | |||
//初始化数据 | |||
useEffect(() => { | |||
function initData() { | |||
GetStoreList({ "current": 1, "pageSize": 9999 }).then((r) => { | |||
let data = []; | |||
if (r.statusCode == 200) { | |||
r.data.data.forEach((item) => { | |||
data.push({ | |||
id: item.id, | |||
label: item.name, | |||
value: item.id, | |||
}); | |||
}); | |||
setStoreList(data); | |||
} | |||
}); | |||
} | |||
initData(); | |||
}, []); | |||
const columns = [ | |||
{ | |||
title: '主键', | |||
dataIndex: 'id', | |||
hideInSearch: true, | |||
hideInTable: true, | |||
tip: '规则名称是唯一的 key' | |||
}, | |||
{ | |||
title: '授权码', | |||
dataIndex: 'key', | |||
valueType: 'textarea', | |||
search: false, | |||
render: (text) => <Paragraph style={{ display: 'inline' }} copyable>{text}</Paragraph>, | |||
}, | |||
{ | |||
title: '店铺', | |||
dataIndex: 'storeName', | |||
valueType: 'textarea', | |||
search: false, | |||
}, | |||
{ | |||
title: '操作', | |||
dataIndex: 'option', | |||
valueType: 'option', | |||
fixed: 'right', | |||
width: 450, | |||
render: (_, record) => [ | |||
<Popconfirm | |||
type="primary" | |||
key="primary" | |||
title="确认更新吗?" | |||
okText="是" | |||
cancelText="否" | |||
onConfirm={async () => { | |||
await UpdateStoreAuthorization(record.id).then((r) => { | |||
if (r.statusCode == 200 && r.data) { | |||
message.success("修改成功"); | |||
actionRef.current.reload(); | |||
} else { | |||
message.error(r.errors || "修改失败"); | |||
} | |||
}); | |||
}} | |||
onCancel={() => { }} | |||
> | |||
<a href="#">更新</a> | |||
</Popconfirm>, | |||
], | |||
}, | |||
]; | |||
return ( | |||
<PageContainer host header={{ title: '', breadcrumb: {}, }}> | |||
<ProTable | |||
actionRef={actionRef} | |||
rowKey="id" | |||
pagination={{ defaultPageSize: 10 }} | |||
search={{ | |||
labelWidth: 120, | |||
}} | |||
toolBarRender={() => [ | |||
<Button type="primary" key="primary" onClick={() => { | |||
handleModalVisible(true); | |||
}} > | |||
添加授权码 | |||
</Button> | |||
]} | |||
request={async (params) => { | |||
var data = []; | |||
var total = 0; | |||
await PageStoreAuthorization(params).then((r) => { | |||
total = r.data.total; | |||
data = r.data.data; | |||
}); | |||
return { | |||
data: data, | |||
success: true, | |||
total: total, | |||
}; | |||
}} | |||
columns={columns} | |||
/> | |||
<Modal title="添加授权" open={ModalVisible} | |||
onOk={() => { | |||
if (!currentRow) { | |||
message.error("请选择店铺"); | |||
return; | |||
} | |||
AddStoreAuthorization(currentRow).then((r) => { | |||
if (r.statusCode == 200 && r.data) { | |||
message.success("添加成功"); | |||
actionRef.current.reload(); | |||
handleModalVisible(false); | |||
} else { | |||
message.error(r.errors || "添加失败"); | |||
} | |||
}); | |||
}} | |||
onCancel={() => { | |||
handleModalVisible(false); | |||
}}> | |||
<Select | |||
style={{ | |||
width: 470, | |||
}} | |||
onChange={(value) => { | |||
setCurrentRow(value); | |||
}} | |||
options={storeList} | |||
/> | |||
</Modal> | |||
</PageContainer> | |||
); | |||
}; | |||
export default App; |
@@ -0,0 +1,36 @@ | |||
import { request } from 'umi'; | |||
import { getDataBaseUrl,GetkitchbaseUrl } from '@/global_data'; | |||
/** 获取平台授权码 */ | |||
export async function PageStoreAuthorization(data) { | |||
return request(GetkitchbaseUrl()+`/api/authorization/pagestoreauthorization`, { | |||
method: 'POST', | |||
data: data, | |||
}); | |||
} | |||
/** 添加平台授权码 */ | |||
export async function AddStoreAuthorization(data) { | |||
return request(GetkitchbaseUrl()+`/api/authorization/addstoreauthorization?storeId=`+data, { | |||
method: 'POST', | |||
data: data, | |||
}); | |||
} | |||
/** 修改平台授权码 */ | |||
export async function UpdateStoreAuthorization(data) { | |||
return request(GetkitchbaseUrl()+`/api/authorization/updatestoreauthorization?id=`+data, { | |||
method: 'POST', | |||
data: data, | |||
}); | |||
} | |||
/** 获取店铺列表 */ | |||
export async function GetStoreList(data) { | |||
return request(GetkitchbaseUrl()+`/api/store/page`, { | |||
method: 'POST', | |||
data: data, | |||
}); | |||
} |