Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

修复配额单位换算问题 #344

Open
wants to merge 6 commits into
base: dev
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion package/Aries/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@
"dependencies": {
"antd": "^1.8.0",
"bfd-bootstrap": "0.0.22",
"bfd-ui": "^1.1.0",
"bfd-ui": "^1.3.4",
"echarts": "^3.2.3",
"js-cookie": "^2.1.2",
"less": "^2.7.1",
Expand Down
8 changes: 3 additions & 5 deletions package/Aries/src/App.jsx
Original file line number Diff line number Diff line change
Expand Up @@ -134,7 +134,7 @@ const App = React.createClass({
</div>
<div id="body" className="row">
{auth.user.cur_space != "" ? [
<div className="sidebar col-md-2 col-sm-3">
<div className="sidebar col-md-2 col-sm-3" key={0}>
<Nav href={env.basePath}>
<NavItem icon="signal" href={`?${params}`} title="概览" />
<NavItem key={10} href="CloudService" icon="cloud" title="云服务">
Expand All @@ -143,9 +143,7 @@ const App = React.createClass({
<NavItem href={`CloudService/HDFS/Share?${params}`} title="我的分享" />
<NavItem href={`CloudService/HDFS/Trash?${params}`} title="我的回收站" />
{/* 增加管理员验证. 这里受到react的限制只能分开判断. */}
{auth.user.type == 1 ?[
<NavItem href={`CloudService/HDFS/Service?${params}`} title="服务管理" />
]:null}
{auth.user.type == 1 && <NavItem href={`CloudService/HDFS/Service?${params}`} title="服务管理" />}
<NavItem href={`CloudService/HDFS/Capacity?${params}`} title="配额管理" />
<NavItem href={`CloudService/HDFS/ShareCenter?${params}`} title="共享中心" />
</NavItem>
Expand Down Expand Up @@ -192,7 +190,7 @@ const App = React.createClass({
<NavItem key={33} href="CloudHost/Manage" icon="credit-card-alt" title="管理">
<NavItem href={`CloudHost/Manage/Project?${params}`} title="项目管理" />
</NavItem>
</NavItem>
</NavItem>
<NavItem key={40} href="UserAuth" icon="th-large" title="用户管理">
<NavItem href={`UserAuth/SpaceList?${params}`} title="space列表" />
</NavItem>
Expand Down
23 changes: 17 additions & 6 deletions package/Aries/src/functions/HDFS/Capacity/Manager.jsx
Original file line number Diff line number Diff line change
Expand Up @@ -6,8 +6,19 @@ import xhr from 'bfd-ui/lib/xhr'
import message from 'bfd-ui/lib/message'

const TabManager = React.createClass({
handleSlid(value,spaceName){
console.log(`slid:${value}, spaceName:${spaceName}`);
handleSlid(value,spaceName,unit){
console.log(`slid:${value}, unit:${unit} spaceName:${spaceName}`);
//根据单位换算成G保存到后端
switch (unit.toLocaleUpperCase()) {
case "TB":
value = value * 1024;
break;
case "PB":
value = value * 1024 * 1024;
break;
default:
break;
}
let upsetUrl = this.props.getUrlData({ type : "UPSET",
spaceName : spaceName
});
Expand All @@ -20,11 +31,11 @@ const TabManager = React.createClass({
});
},
render:function(){
let sliderData = this.props.sliderData.map((slider,i)=>{
return <div>
let sliderData = this.props.sliderData.map((slider,index)=>{
return <div key={index}>
<div className="col-sm-5 col-md-5 col-lg-5">
{slider.name}<Slider defaultValue={slider.value} tickValue={10} start={0} end={slider.end} suffix="G"
onSlid={(value)=>{this.handleSlid(value,slider.name)}} />
{slider.name}<Slider defaultValue={slider.value} tickValue={10} start={0} end={slider.end} suffix={slider.unit}
onSlid={(value)=>{this.handleSlid(value,slider.name,slider.unit)}} />
</div>
</div>
});
Expand Down
6 changes: 3 additions & 3 deletions package/Aries/src/functions/HDFS/Capacity/Monitor.jsx
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@ const TabMonitor = React.createClass({
let percen = 0;
try{
percen = value.used_capacity/value.total_capacity*100;
percen = percen.toFixed(2);
percen = Number(percen.toFixed(2));
if(isNaN(percen)){
percen = 0;
}
Expand All @@ -19,9 +19,9 @@ const TabMonitor = React.createClass({
percen = 0;
}
console.log(`percen: ${percen}`);
return <div className="col-sm-6 col-md-4 col-lg-3">
return <div className="col-sm-6 col-md-4 col-lg-3" key={index}>
<div className="thumbnail text-border" style={{width:'100px'}}><a href="javascript:">{value.name}</a></div>
<div className="caption"><Percentage percent={percen} style={{width: '150px'}}></Percentage></div>
<div className="caption"><Percentage percent={percen} width={150}></Percentage></div>
</div>
});
return (
Expand Down
33 changes: 24 additions & 9 deletions package/Aries/src/functions/HDFS/Capacity/index.jsx
Original file line number Diff line number Diff line change
Expand Up @@ -10,16 +10,30 @@ import NavigationInPage from 'public/NavigationInPage'
import auth from 'public/auth'

export default React.createClass({
unit:["GB","TB","PB"],
converUnit(value,unitIndex){
//默认是GB. 如果满足TB则直接换算成TB.(plan, total)
if(value/1024.0 > 1){
//可以进行转换
return this.converUnit(value/1024.0,unitIndex+1);
}
return {value:value,index:unitIndex}
},
sliderDataSccuess(data){
let percentData = data;
let slider_data=data.map((d,index)=>{
let finalUnit = this.converUnit(d.plan_capacity,0);
let unit = this.unit[finalUnit.index];
let total_capacity = d.total_capacity/Math.pow(1024.0,finalUnit.index);
let end = finalUnit.value;
return {
"name":d.name,
"value":d.total_capacity,
"value":Number(total_capacity.toFixed(2)), // 已经分配的空间
"start":0,
"end":d.plan_capacity,
"end":Number(end.toFixed(0)), // 计划使用的空间
"unit":unit,
}
});
},this);
this.setState({sliderData:slider_data,percentData:percentData});
},
getInitialState: function() {
Expand Down Expand Up @@ -48,21 +62,22 @@ export default React.createClass({
let spaceName = HdfsConf.getCurSpace(this);
let sumUrl = this.getUrlData({ type : "SUM",
});
console.log(this.state.sliderData);
return (
<div>
<NavigationInPage headText={HdfsConf.getNavigationData({pageName : this.requestArgs.pageName, type : "headText"})} naviTexts={HdfsConf.getNavigationData({pageName:this.requestArgs.pageName,type:"navigationTexts",spaceName:spaceName})} />
<div className="bottom">
<Tabs>
<TabList>
<Tab>配额监控</Tab>
{auth.user.is_supper == 1 ?[
<Tab>配额管理</Tab>
]:null}
{auth.user.is_supper == 1 ?[
<Tab key={0}>配额管理</Tab>
]:null}
</TabList>
<TabPanel><TabMonitor percentData={this.state.percentData} /></TabPanel>
{auth.user.is_supper == 1 ?[
<TabPanel><TabManager getUrlData={this.getUrlData} refreshCapacity={this.refreshCapacity} sliderData={this.state.sliderData} /></TabPanel>
]:null}
{auth.user.is_supper == 1 ?[
<TabPanel key={1}><TabManager getUrlData={this.getUrlData} refreshCapacity={this.refreshCapacity} sliderData={this.state.sliderData} /></TabPanel>
]:null}
</Tabs>
</div>
<div className="div-Fetch">
Expand Down