提交 44fb6b20 编写于 作者: J jinlong12

Merge branch 'develop' of https://git.jd.com/jd-blockchain/explorer into event

......@@ -708,8 +708,11 @@ router.get('/:ledger/txs/hash/:tx_hash', function(req, res) {
}
}, {
"roles": [{
"disableLedgerPermissions": ["CONFIGURE_ROLES", "AUTHORIZE_USER_ROLES", "SET_CONSENSUS", "SET_CRYPTO", "REGISTER_PARTICIPANT"],
"disableTransactionPermissions": ["DIRECT_OPERATION", "CONTRACT_OPERATION"],
// "disableLedgerPermissions": ["CONFIGURE_ROLES", "AUTHORIZE_USER_ROLES", "SET_CONSENSUS", "SET_CRYPTO", "REGISTER_PARTICIPANT"],
// "disableTransactionPermissions": ["DIRECT_OPERATION", "CONTRACT_OPERATION"],
"disableLedgerPermissions": [],
"disableTransactionPermissions": [],
"roleName": "DEFAULT",
"enableLedgerPermissions": ["REGISTER_USER", "REGISTER_DATA_ACCOUNT", "REGISTER_CONTRACT", "UPGRADE_CONTRACT", "SET_USER_ATTRIBUTES", "WRITE_DATA_ACCOUNT", "APPROVE_TX", "CONSENSUS_TX"],
"enableTransactionPermissions": ["DIRECT_OPERATION", "CONTRACT_OPERATION"]
......@@ -756,6 +759,15 @@ router.get('/:ledger/txs/hash/:tx_hash', function(req, res) {
"authorizedRoles": [],
"policy": "UNION"
}]
}, {
"eventAccountID":{
"address":{
"value":"LdeNpSUAoWgmj8inksfuBx6vL3PMdZxnovkFa"
},
"pubKey":{
"value":"7VeRPrJgSt4nKqSinLMwHGEWskPiQ5WNqcSj9ximuwLTjKoH"
}
}
}],
"hash": {
"value": "j5mTxuFAaBejKoRGphTaAWv5A15uSLPP8PUKiggs2NppR9"
......@@ -1418,7 +1430,207 @@ router.get('/:ledger/events/user/accounts/:address/names/:eventName', function(r
"type": "BYTES",
"value": "Ynl0ZXM="
}
}
},
{
"sequence": 0,// 事件序列
"transactionSource": {// 交易哈希
"value": "j5ufPaiHndQ31ieQsBNFg57zqr2DmRJS8VnJCVmEL2dYWm"
},
"blockHeight": 1,// 区块高度
"contractSource": "",// 合约地址
"eventAccount": {// 事件账户
"value": "LdeNpSUAoWgmj8inksfuBx6vL3PMdZxnovkFa"
},
"name": "e1",// 事件名
"content": {// 事件内容
"nil": false,
"bytes": {
"value": "C7P9wfY"
},
"type": "BYTES",
"value": "Ynl0ZXM="
}
},
{
"sequence": 1,
"transactionSource": {
"value": "j5ufPaiHndQ31ieQsBNFg57zqr2DmRJS8VnJCVmEL2dYWm"
},
"blockHeight": 1,
"contractSource": "",
"eventAccount": {
"value": "LdeNpSUAoWgmj8inksfuBx6vL3PMdZxnovkFa"
},
"name": "e1",
"content": {
"nil": false,
"bytes": {
"value": "C7P9wfY"
},
"type": "BYTES",
"value": "Ynl0ZXM="
}
},
{
"sequence": 0,// 事件序列
"transactionSource": {// 交易哈希
"value": "j5ufPaiHndQ31ieQsBNFg57zqr2DmRJS8VnJCVmEL2dYWm"
},
"blockHeight": 1,// 区块高度
"contractSource": "",// 合约地址
"eventAccount": {// 事件账户
"value": "LdeNpSUAoWgmj8inksfuBx6vL3PMdZxnovkFa"
},
"name": "e1",// 事件名
"content": {// 事件内容
"nil": false,
"bytes": {
"value": "C7P9wfY"
},
"type": "BYTES",
"value": "Ynl0ZXM="
}
},
{
"sequence": 1,
"transactionSource": {
"value": "j5ufPaiHndQ31ieQsBNFg57zqr2DmRJS8VnJCVmEL2dYWm"
},
"blockHeight": 1,
"contractSource": "",
"eventAccount": {
"value": "LdeNpSUAoWgmj8inksfuBx6vL3PMdZxnovkFa"
},
"name": "e1",
"content": {
"nil": false,
"bytes": {
"value": "C7P9wfY"
},
"type": "BYTES",
"value": "Ynl0ZXM="
}
},
{
"sequence": 0,// 事件序列
"transactionSource": {// 交易哈希
"value": "j5ufPaiHndQ31ieQsBNFg57zqr2DmRJS8VnJCVmEL2dYWm"
},
"blockHeight": 1,// 区块高度
"contractSource": "",// 合约地址
"eventAccount": {// 事件账户
"value": "LdeNpSUAoWgmj8inksfuBx6vL3PMdZxnovkFa"
},
"name": "e1",// 事件名
"content": {// 事件内容
"nil": false,
"bytes": {
"value": "C7P9wfY"
},
"type": "BYTES",
"value": "Ynl0ZXM="
}
},
{
"sequence": 1,
"transactionSource": {
"value": "j5ufPaiHndQ31ieQsBNFg57zqr2DmRJS8VnJCVmEL2dYWm"
},
"blockHeight": 1,
"contractSource": "",
"eventAccount": {
"value": "LdeNpSUAoWgmj8inksfuBx6vL3PMdZxnovkFa"
},
"name": "e1",
"content": {
"nil": false,
"bytes": {
"value": "C7P9wfY"
},
"type": "BYTES",
"value": "Ynl0ZXM="
}
},
{
"sequence": 0,// 事件序列
"transactionSource": {// 交易哈希
"value": "j5ufPaiHndQ31ieQsBNFg57zqr2DmRJS8VnJCVmEL2dYWm"
},
"blockHeight": 1,// 区块高度
"contractSource": "",// 合约地址
"eventAccount": {// 事件账户
"value": "LdeNpSUAoWgmj8inksfuBx6vL3PMdZxnovkFa"
},
"name": "e1",// 事件名
"content": {// 事件内容
"nil": false,
"bytes": {
"value": "C7P9wfY"
},
"type": "BYTES",
"value": "Ynl0ZXM="
}
},
{
"sequence": 1,
"transactionSource": {
"value": "j5ufPaiHndQ31ieQsBNFg57zqr2DmRJS8VnJCVmEL2dYWm"
},
"blockHeight": 1,
"contractSource": "",
"eventAccount": {
"value": "LdeNpSUAoWgmj8inksfuBx6vL3PMdZxnovkFa"
},
"name": "e1",
"content": {
"nil": false,
"bytes": {
"value": "C7P9wfY"
},
"type": "BYTES",
"value": "Ynl0ZXM="
}
},
{
"sequence": 0,// 事件序列
"transactionSource": {// 交易哈希
"value": "j5ufPaiHndQ31ieQsBNFg57zqr2DmRJS8VnJCVmEL2dYWm"
},
"blockHeight": 1,// 区块高度
"contractSource": "",// 合约地址
"eventAccount": {// 事件账户
"value": "LdeNpSUAoWgmj8inksfuBx6vL3PMdZxnovkFa"
},
"name": "e1",// 事件名
"content": {// 事件内容
"nil": false,
"bytes": {
"value": "C7P9wfY"
},
"type": "BYTES",
"value": "Ynl0ZXM="
}
},
{
"sequence": 1,
"transactionSource": {
"value": "j5ufPaiHndQ31ieQsBNFg57zqr2DmRJS8VnJCVmEL2dYWm"
},
"blockHeight": 1,
"contractSource": "",
"eventAccount": {
"value": "LdeNpSUAoWgmj8inksfuBx6vL3PMdZxnovkFa"
},
"name": "e1",
"content": {
"nil": false,
"bytes": {
"value": "C7P9wfY"
},
"type": "BYTES",
"value": "Ynl0ZXM="
}
},
],
"success": true
});
......
......@@ -20,7 +20,7 @@ const HeaderStore = types
icon:'switcher'
},{
path: 'event',
name: '事件',
name: '事件账户',
icon: 'mail',
},{
path:'contract',
......
......@@ -24,6 +24,7 @@ const EventStore = types
nameCurrent: 1,
dataLatest: {}, // 最新事件数据
nameRecord: {},
}))
.views(self => ({
......@@ -39,17 +40,22 @@ const EventStore = types
setEvent(v) {
self.eventCurrent = v;
console.log(v, self.eventCurrent)
},
setName(v) {
self.nameCurrent = v;
},
setNameRecord(v) {
self.nameRecord = v;
},
// 事件账户列表
getAccount(ledger,param) {
getAccount(ledger,param, keywords) {
self.ledger=ledger;
return fetchData(`${__HOST}/ledgers/${ledger}/events/user/accounts`,
self.setAccount,
result => self.setAccount(result, keywords),
param, {
method: 'get',
headers: {
......@@ -61,9 +67,10 @@ const EventStore = types
console.log(error);
});
},
setAccount(result) {
setAccount(result, keywords) {
if (result&&result.success) {
self.tableData=result.data||[];
self.tableData = result.data && result.data.filter(item => item.address.value.indexOf(keywords) != -1) || [];
self.accountcount = self.tableData.length || 0
}
else{
self.tableData=[];
......@@ -95,10 +102,10 @@ const EventStore = types
},
// 指定事件账户下事件列表
getEvent(ledgers, address) {
getEventData(ledgers, address, param) {
return fetchData(`${__HOST}/ledgers/${ledgers}/events/user/accounts/${address}/names`,
self.setEvent,
'', {
self.setEventData,
param, {
method: 'get',
headers: {
// accept: 'application/json',
......@@ -109,10 +116,9 @@ const EventStore = types
console.log(error);
});
},
setEvent(result) {
setEventData(result) {
if (result && result.success) {
self.dataEvent = result.data||[];
console.log(self.dataEvent)
}
else{
self.dataEvent = [];
......@@ -161,6 +167,7 @@ const EventStore = types
setEventName(result) {
if (result && result.success) {
self.dataName = result.data||[];
self.dataName.map((item, key) => item.index = key);
}
else{
self.dataName = [];
......
......@@ -4,7 +4,23 @@ import { observer, inject } from 'mobx-react';
import nj from 'nornj';
import styles from './eventInfo.m.scss';
import { Badge, Col, Drawer, Row, Table } from 'antd';
import { Badge, Col, Drawer, Message, Row, Table } from 'antd';
function arrayIndexOf(arr, val) {
for (var i = 0, len = arr.length; i < len; i++) {
if (arr[i] == val) {
return i;
}
}
return -1;
}
function arrayRemove(arr, val) {
var index = arrayIndexOf(arr, val);
if (index > -1) {
arr.splice(index, 1);
}
return arr;
}
//页面容器组件
......@@ -18,17 +34,56 @@ export default class EventInfo extends Component {
@observable pageSize = 10;
@observable pageEvent = 10;
@observable visible = false;
@observable expandedRowKeys = [];
@observable expandedRowKeysName = [];
onPageChange = (page, pageSize) => {
const { store: { event } } = this.props;
console.log(page, pageSize)
const { data, store: { common, event } } = this.props;
const closeLoading = Message.loading('正在获取数据...', 0);
let leaders = common.getDefaultLedger();
event.setEvent(page);
// this.Search();
this.expandedRowKeys = [];
let param = {
fromIndex: (event.eventCurrent - 1) * this.pageSize,
count: this.pageSize,
};
let address = data.address && data.address.value && data.address.value || '';
// 查询事件列表
Promise.all([
event.getEventCount(common.getDefaultLedger(), address)
]).then(() => {
if (event.eventTotal > 0) {
Promise.all([
event.getEventData(common.getDefaultLedger(), address, param)
]).then(() => {
closeLoading();
});
} else {
closeLoading();
}
})
}
onPageChangeName = (page, pageSize) => {
const { store: { event } } = this.props;
const { data, store: { common, event } } = this.props;
event.setName(page);
this.expandedRowKeysName = [];
let address = data.address && data.address.value && data.address.value || '';
let param = {
fromSequence: (event.nameCurrent - 1) * this.pageEvent,
count: this.pageEvent,
}
Promise.all([
event.getEventName(common.getDefaultLedger(), address, event.nameRecord, param)
]).then(() => {
})
}
onShow = (record, index) => {
......@@ -38,7 +93,7 @@ export default class EventInfo extends Component {
fromSequence: (event.nameCurrent - 1) * this.pageEvent,
count: this.pageEvent,
}
event.setNameRecord(record)
Promise.all([
event.getEventName(common.getDefaultLedger(), address, record, param)
]).then(() => {
......@@ -47,11 +102,12 @@ export default class EventInfo extends Component {
}
onClose = () => {
const { data, store: { common, event } } = this.props;
this.visible = false;
event.setName(1)
}
onShowLatest = (e, record) => {
console.log(e)
const { data, store: { common, event } } = this.props;
let address = data.address && data.address.value && data.address.value || '';
......@@ -59,7 +115,7 @@ export default class EventInfo extends Component {
Promise.all([
event.getEventLatest(common.getDefaultLedger(), address, record)
]).then(() => {
console.log(event.dataLatest)
})
}
......@@ -111,27 +167,90 @@ export default class EventInfo extends Component {
}]
}
// 子表展开收缩函数
handleExpandShow = (expanded, record) => {
if (expanded) {
let testArr = [];
testArr.push(record);
this.expandedRowKeys = [...testArr];
} else {
this.expandedRowKeys = [...arrayRemove(this.expandedRowKeys, record)]
}
}
handleExpandShowName = (expanded, record) => {
if (expanded) {
let testArr = [];
testArr.push(record.index);
this.expandedRowKeysName = [...testArr];
console.log(record, this.expandedRowKeysName)
} else {
this.expandedRowKeysName = [...arrayRemove(this.expandedRowKeysName, record.index)]
}
}
nameColumns = () => {
return [{
dataIndex: 'sequence',
title: '事件序列',
}, {
},
{
dataIndex: 'transactionSource.value',
title: '交易哈希',
}, {
},
{
title: '合约地址',
dataIndex: 'contractSource',
}, {
},
{
title: '区块高度',
dataIndex: 'blockHeight',
}, {
title: '事件账户',
dataIndex: 'eventAccount.value'
}, {
title: '事件名称',
dataIndex: 'name',
}]
},
// {
// title: '事件账户',
// dataIndex: 'eventAccount.value'
// },
// {
// title: '事件名称',
// dataIndex: 'name',
// }
]
}
eventContent = record => {
return (
<div className = {styles.info}>
<Row className = {styles.gl}>
<Col span = {4} xs = {24} sm = {8} lg = {4}>事件账户:</Col>
<Col span = {20} xs = {24} sm = {16} lg = {20}>{record.eventAccount && record.eventAccount.value && record.eventAccount.value || ''}</Col>
<Col span = {4} xs = {24} sm = {8} lg = {4}>事件名称:</Col>
<Col span = {20} xs = {24} sm = {16} lg = {20}>{record.name && record.name || ''}</Col>
{/* <Col span = {4} xs = {24} sm = {8} lg = {4}>内容:</Col>
<Col span = {20} xs = {24} sm = {16} lg = {20}>
<ul>
<li>nil: {record.content && record.content.nil && record.content.nil || false}</li>
<li>bytes: {record.content && record.content.bytes && record.content.bytes.value && record.content.bytes.value || false}</li>
<li>type: {record.content && record.content.type && record.content.type || ''}</li>
<li>value: {record.content && record.content.value && record.content.value || ''}</li>
</ul>
</Col> */}
<Col span = {4} xs = {24} sm = {8} lg = {4}>nil:</Col>
<Col span = {8} xs = {24} sm = {16} lg = {8}>{record.content && record.content.nil && record.content.nil || false}</Col>
<Col span = {4} xs = {24} sm = {8} lg = {4}>bytes:</Col>
<Col span = {8} xs = {24} sm = {16} lg = {8}>{record.content && record.content.bytes && record.content.bytes.value && record.content.bytes.value || false}</Col>
<Col span = {4} xs = {24} sm = {8} lg = {4}>type:</Col>
<Col span = {8} xs = {24} sm = {16} lg = {8}>{record.content && record.content.type && record.content.type || ''}</Col>
<Col span = {4} xs = {24} sm = {8} lg = {4}>value:</Col>
<Col span = {8} xs = {24} sm = {16} lg = {8}>{record.content && record.content.value && record.content.value || ''}</Col>
</Row>
</div>
)
}
render() {
......@@ -150,14 +269,15 @@ export default class EventInfo extends Component {
<h3>事件列表</h3>
<Table
rowKey = {record => record}
dataSource = {event.dataEvent}
columns = {this.eventColumns()}
// onExpand = {this.onShowLatest}
expandedRowKeys = {this.expandedRowKeys}
expandedRowRender = {this.expandedRowRender}
onExpand = {(expanded, record) => this.handleExpandShow(expanded, record)}
onRow = {record => ({
// onMouse: event => this.onShowLatest(event)
onMouseOver: event => this.onShowLatest(event, record)
}
onMouseOver: event => this.onShowLatest(event, record)
}
)}
pagination = {{
current: event.eventCurrent,
......@@ -170,13 +290,14 @@ export default class EventInfo extends Component {
</div>
<Drawer
title = "事件详情"
title = "历史记录"
maskClosable = {false}
onClose = {this.onClose}
visible = {this.visible}
width = {1200}
>
<Table
rowKey = {record => record.index}
dataSource = {event.dataName}
columns = {this.nameColumns()}
pagination = {{
......@@ -186,6 +307,9 @@ export default class EventInfo extends Component {
onChange: this.onPageChangeName,
showQuickJumper: true
}}
onExpand = {(expanded, record) => this.handleExpandShowName(expanded, record)}
expandedRowKeys = {this.expandedRowKeysName}
expandedRowRender = {record => this.eventContent(record)}
/>
</Drawer>
</div>
......
......@@ -121,7 +121,7 @@
<td>用户地址:</td>
<td>{{this.userID.address.value}}</td>
</tr>
<tr>
<tr>
<td>用户公钥算法:</td>
<td>{{tranBase58(this.userID.pubKey.value)}}</td>
</tr>
......@@ -144,7 +144,7 @@
<td>参与方端口:</td>
<td>{{this.networkAddress.port || ''}}</td>
</tr>
<tr>
<tr>
<td>参与方域名:</td>
<td>{{this.networkAddress.host || ''}}</td>
</tr>
......@@ -159,7 +159,7 @@
<td>参与方地址:</td>
<td>{{this.participantRegisterIdentity.address.value}}</td>
</tr>
<tr>
<tr>
<td>参与方公钥算法:</td>
<td>{{tranBase58(this.participantRegisterIdentity.pubKey.value)}}</td>
</tr>
......@@ -190,6 +190,22 @@
</BlockCollapsePanel>
</#if>
<!-- 事件账户 -->
<#if {{this.eventAccountID}}>
<BlockCollapsePanel title="事件账户">
<table style="line-height:41px;width:100%;">
<tr>
<td>事件账户地址:</td>
<td>{{this.eventAccountID.address.value}}</td>
</tr>
<tr>
<td>事件账户公钥算法:</td>
<td>{{tranBase58(this.eventAccountID.pubKey.value)}}</td>
</tr>
</table>
</BlockCollapsePanel>
</#if>
<!-- 角色配置 -->
<#if {{this.roles}}>
<BlockCollapsePanel title="角色配置">
......@@ -202,11 +218,13 @@
<!-- <td>{{enableLedgerPermissions && enableLedgerPermissions.join(',') || ''}}</td> -->
<td>{{enableLedgerPermissions && transform(enableLedgerPermissions) || ''}}</td>
</tr>
<tr>
<td>不可执行的操作:</td>
<!-- <td>{{disableLedgerPermissions && disableLedgerPermissions.join(',') || ''}}</td> -->
<td>{{disableLedgerPermissions && transform(disableLedgerPermissions) || ''}}</td>
</tr>
<#if {{disableLedgerPermissions && disableLedgerPermissions.length != 0}}>
<tr>
<td>不可执行的操作:</td>
<!-- <td>{{disableLedgerPermissions && disableLedgerPermissions.join(',') || ''}}</td> -->
<td>{{disableLedgerPermissions && transform(disableLedgerPermissions) || ''}}</td>
</tr>
</#if>
</table>
</BlockCollapseSmall>
<BlockCollapseSmall title="交易操作权限">
......@@ -216,11 +234,13 @@
<!-- <td>{{enableTransactionPermissions && enableTransactionPermissions.join(',') || ''}}</td> -->
<td>{{enableTransactionPermissions && transform(enableTransactionPermissions) || ''}}</td>
</tr>
<tr>
<td>不可执行的操作:</td>
<td>{{disableTransactionPermissions && transform(disableTransactionPermissions) || ''}}</td>
<!-- <td>{{disableTransactionPermissions && disableTransactionPermissions.join(',') || ''}}</td> -->
</tr>
<#if {{disableTransactionPermissions && disableTransactionPermissions.length != 0}}>
<tr>
<td>不可执行的操作:</td>
<td>{{disableTransactionPermissions && transform(disableTransactionPermissions) || ''}}</td>
<!-- <td>{{disableTransactionPermissions && disableTransactionPermissions.join(',') || ''}}</td> -->
</tr>
</#if>
</table>
</BlockCollapseSmall>
</BlockCollapse>
......@@ -237,6 +257,18 @@
<td>用户地址:</td>
<td>{{(userAddresses && userAddresses[0] && userAddresses[0].value) && userAddresses[0].value || ''}}</td>
</tr>
<!-- <#if {{authorizedRoles && authorizedRoles.length != 0}}>
<tr>
<td>用户授权的角色清单:</td>
<td>{{authorizedRoles && authorizedRoles.join(',') || ''}}</td>
</tr>
</#if>
<#if {{unauthorizedRoles && unauthorizedRoles.length != 0}}>
<tr>
<td>用户未授权的角色清单:</td>
<td>{{unauthorizedRoles && unauthorizedRoles.join(',') || ''}}</td>
</tr>
</#if> -->
<tr>
<td>用户授权的角色清单:</td>
<td>{{authorizedRoles && authorizedRoles.join(',') || ''}}</td>
......
......@@ -30,12 +30,17 @@ export default class Event extends Component {
@observable accountData = {};
@observable click = 0;
@observable show = false;
@observable accountAddress = '';
@observable eventAddress = '';
constructor(props) {
super(props);
}
onInputChange = e => {
this.eventAddress = e.target.value;
console.log(this.eventAddress)
}
componentDidMount() {
const { store: { header } } = this.props;
header.setSelectMenu(['event']);
......@@ -62,7 +67,7 @@ export default class Event extends Component {
]).then(() => {
if (event.accountcount > 0) {
Promise.all([
event.getAccount(leaders,param)
event.getAccount(leaders, param, this.eventAddress)
]).then(() => {
closeLoading();
});
......@@ -72,17 +77,6 @@ export default class Event extends Component {
})
}
//模糊查询
@autobind
onSerchInfo() {
if (this.accountAddress.trim() != '') {
this.onSearchVague();
}
else {
this.onSearch()
}
}
@autobind
onPageChange(page, pageSize) {
const { store: { event } } = this.props;
......@@ -97,12 +91,17 @@ export default class Event extends Component {
const closeLoading = Message.loading('正在获取数据...', 0);
let param = {
fromIndex: 0,
count: 10,
};
Promise.all([
event.getEventCount(common.getDefaultLedger(), address)
]).then(() => {
if (event.eventTotal > 0) {
Promise.all([
event.getEvent(common.getDefaultLedger(), address)
event.getEventData(common.getDefaultLedger(), address, param)
]).then(() => {
closeLoading();
this.accountData = record;
......@@ -119,7 +118,13 @@ export default class Event extends Component {
}
onShow = () => {
const { store: { common, event } } = this.props;
this.show = !this.show;
// this.eventAddress = '';
event.setCurrent(1)
event.setEvent(1)
event.setName(1)
}
@computed get eventColumns() {
......@@ -144,7 +149,6 @@ export default class Event extends Component {
render() {
const { store: { event } } = this.props;
console.log(event.tableData)
return tmpls.container(this.state, this.props, this, {
styles,
event,
......
......@@ -4,8 +4,8 @@
事件账户
</h2>
<div style="margin-bottom:20px;" #show={!show}>
<ant-Input style="width:200px;margin-right:20px"/>
<ant-Button style="margin-right:20px" icon="search" type="primary" class="{styles.btn}" onClick={SerchInfo}>查询</ant-Button>
<ant-Input style="width:200px;margin-right:20px" value={eventAddress} onChange={onInputChange}/>
<ant-Button style="margin-right:20px" icon="search" type="primary" class="{styles.btn}" onClick={onSearch}>查询</ant-Button>
</div>
<div class="{styles.datapanel}" #show={!show}>
<ant-Table
......
......@@ -76,7 +76,7 @@
</div>
</router-Link>
<!-- 事件账户总数,暂时以数据账户代替 -->
<router-Link to='event' class="{styles.link}">
<!-- <router-Link to='event' class="{styles.link}">
<div class="{styles.tabs} {styles.ledgers}">
<div class="{styles.span}">
<div class="{styles.left}">
......@@ -90,7 +90,7 @@
</div>
</div>
</div>
</router-Link>
</router-Link> -->
<router-Link to='contract' class="{styles.link}">
<div class="{styles.tabs} {styles.contracts}">
<div class="{styles.span}">
......@@ -115,7 +115,7 @@
<span>{search.txsData.length}</span>条交易内容,
<span>{search.contractsData.length}</span>条合约数据,
<span>{search.accountsData.length}</span>条数据账户,
<span>{search.eventData.length}</span>条事件账户,
<!-- <span>{search.eventData.length}</span>条事件账户, -->
<span>{search.usersData.length}</span>条用户数据
</div>
<ant-Tabs>
......@@ -171,20 +171,13 @@
</#each>
<!-- 事件账户 -->
<#each {{search.eventData}}>
<!-- <#each {{search.eventData}}>
<article key={@index} class="{styles.option}">
<p class="{styles.title}">
<!-- <span>数据账户地址:</span>
<span :dangerouslySetInnerHTML="{__html: highLIght(address.value)}"></span>
<span>数据账户公钥:</span>
<span :dangerouslySetInnerHTML="{__html: highLIght(pubKey.value)}"></span>
<span>数据账户公钥算法:</span>
<span :dangerouslySetInnerHTML="{__html: tranBase58(pubKey.value)}"></span>
<span>默克尔树根哈希</span>
<span><AccountRootHash address={address.value}/></span> -->
</p>
</article>
</#each>
</#each> -->
<!-- 用户数据 -->
<#each {{search.usersData}}>
......@@ -287,17 +280,11 @@
</#else>
</#if>
</ant-TabPane>
<ant-TabPane tab="事件账户" key="5">
<!-- <ant-TabPane tab="事件账户" key="5">
<#if {{search.eventData.length > 0}}>
<#each {{search.eventData}}>
<article key={@index} class="{styles.option}">
<p class="{styles.title}">
<!-- <span>用户地址:</span>
<span :dangerouslySetInnerHTML="{__html: highLIght(address.value)}"></span>
<span>用户公钥:</span>
<span :dangerouslySetInnerHTML="{__html: highLIght(pubKey.value)}"></span>
<span>用户公钥算法:</span>
<span :dangerouslySetInnerHTML="{__html: tranBase58(pubKey.value)}"></span> -->
</p>
</article>
</#each>
......@@ -308,7 +295,7 @@
暂无数据
</#else>
</#if>
</ant-TabPane>
</ant-TabPane> -->
<ant-TabPane tab="用户" key='6'>
<#if {{search.usersData.length > 0}}>
<#each {{search.usersData}}>
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册