Browse Source

新增账户明细和账单详情

master
ltlzx 4 years ago
parent
commit
f67a7df7ca
  1. 11
      package-lock.json
  2. 1
      package.json
  3. 18
      src/api/index.js
  4. 8
      src/assets/css/main.css
  5. 89
      src/components/accountDetails/index.vue
  6. 243
      src/components/billDetails/index.vue
  7. 82
      src/components/page/classification/DataQuery.vue
  8. 18
      src/components/page/fundSettlement/index.vue
  9. 51
      src/utils/request.js

11
package-lock.json

@ -381,6 +381,14 @@
"postcss-value-parser": "^3.2.3"
}
},
"axios": {
"version": "0.26.1",
"resolved": "https://registry.npmjs.org/axios/-/axios-0.26.1.tgz",
"integrity": "sha512-fPwcX4EvnSHuInCMItEhAGnaSEXRBjtzh9fOtsE6E1G6p7vl7edEeZe11QHf18+6+9gR5PbKV/sGKNaD8YaMeA==",
"requires": {
"follow-redirects": "^1.14.8"
}
},
"babel-code-frame": {
"version": "6.26.0",
"resolved": "https://registry.npmjs.org/babel-code-frame/-/babel-code-frame-6.26.0.tgz",
@ -4255,8 +4263,7 @@
"follow-redirects": {
"version": "1.14.8",
"resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.14.8.tgz",
"integrity": "sha512-1x0S9UVJHsQprFcEC/qnNzBLcIxsjAV905f/UkQxbclCsoTWlacCNOpQa/anodLl2uaEKFhfWOvM2Qg77+15zA==",
"dev": true
"integrity": "sha512-1x0S9UVJHsQprFcEC/qnNzBLcIxsjAV905f/UkQxbclCsoTWlacCNOpQa/anodLl2uaEKFhfWOvM2Qg77+15zA=="
},
"for-in": {
"version": "1.0.2",

1
package.json

@ -11,6 +11,7 @@
},
"dependencies": {
"ant-design-vue": "^1.7.8",
"axios": "^0.26.1",
"less": "^4.1.2",
"less-loader": "^10.2.0",
"vue": "^2.5.2",

18
src/api/index.js

@ -0,0 +1,18 @@
import request from '../utils/request';
//全部文化数据查询
export const getAllDate = query => {
return request({
url: '/admin/goods.Goods/list',
method: 'post',
data: query
});
};
//获取角色
export const getRole = query => {
return request({
url: '/admin/user.user/getRole',
method: 'get',
params: query
});
};

8
src/assets/css/main.css

@ -69,8 +69,10 @@ body {
margin-top: 20px;
padding-left: 20px;
padding-top: 15px;
padding-bottom: 15px;
padding-right: 30px;
box-sizing: border-box;
overflow-y: auto;
}
.table_title{
display: flex;
@ -92,3 +94,9 @@ body {
text-align: right;
margin-top: 21px;
}
.ant-table-tbody > tr > td {
padding: 11px 16px;
}
.ant-table-thead > tr > th {
padding: 11px 16px;
}

89
src/components/accountDetails/index.vue

@ -0,0 +1,89 @@
<template>
<div>
<a-modal v-model="newVisible" title="账户详情" :afterClose="onClose" width="870px" :bodyStyle="modeStyle">
<p class="details_p">结算账号5678656789</p>
<p class="details_p">结算卡开户银行中国农业银行海辉支行</p>
<p class="details_p">
结算银行卡6228487678878909899
<span class="changeBind">更换绑定</span>
</p>
<div class="details_content">
<p>注册时间2021-02-16 10:00:00</p>
<p>认证时间2021-02-16 10:00:00</p>
<p>认证类型机构</p>
<p>认证状态已认证</p>
<p>基本信息新疆生产建设兵团军垦博物馆</p>
<p>统一社会信用代码12990800H41793127X</p>
<p>账户ISLI标识码010002-000000000090000117259999-8</p>
</div>
<template slot="footer">
<div>
<a-button type="white" @click="onClose"> </a-button>
</div>
</template>
</a-modal>
</div>
</template>
<script>
export default {
props:{
visible:{
type:Boolean,
require: true
}
},
data(){
return{
newVisible:false,
modeStyle:{
'min-height':'311px',
'padding-top':'0px'
},
}
},
methods:{
onClose() {
this.newVisible=false
this.$emit('update:visible', false)
}
},
watch:{
visible(val){
this.newVisible=val
}
}
}
</script>
<style scoped>
/deep/ .ant-modal-header{
border-bottom: none;
}
/deep/ .ant-modal-footer{
border-top: none;
padding: 20px 16px;
}
p{
margin-bottom: 0;
color: #4E5969;
}
.details_p{
margin-bottom: 16px;
}
.changeBind{
display: inline-block;
color: #4E5969;
cursor: pointer;
text-decoration: underline;
margin-left: 25px;
}
.details_content{
padding: 20px;
border: 1px solid #EEEEEE;
border-top: 2px solid #9A9A9A;
border-left: 2px solid #9A9A9A;
height: 345px;
}
</style>

243
src/components/billDetails/index.vue

@ -0,0 +1,243 @@
<template>
<div>
<a-modal v-model="newVisible" title="账单明细" :afterClose="onClose" width="1175px" :bodyStyle="modeStyle">
<p>本月总收入10,000.00</p>
<p>本月总支出3,000.00</p>
<div class="bill_content">
<a-table :columns="columns" :data-source="data" bordered :pagination="false"></a-table>
</div>
<a-pagination
class="pagination"
size="small"
:total="total"
v-model="current"
:page-size="pageSize"
:show-total="total => `第 ${current} / ${pageSize} 条 / 总共 ${total} 条`"
:page-size-options="pageSizeOptions"
@showSizeChange="onShowSizeChange"
show-size-changer >
<template slot="buildOptionText" slot-scope="props">
<span >{{ props.value }}/</span>
</template>
</a-pagination>
<template slot="footer">
<div>
<a-button type="white" @click="onClose"> </a-button>
</div>
</template>
</a-modal>
</div>
</template>
<script>
export default {
props:{
visible:{
type:Boolean,
require: true
}
},
data(){
return{
newVisible:false,
modeStyle:{
'min-height':'311px',
'padding-top':'15px'
},
pageSizeOptions: ['10', '20', '30', '40', '50'],
//
pageSize:10,
total:500,
//
current: 1,
data:[
{
key: '1',
name: 'John Brown',
money: '¥300,000.00',
address: 'New York No. 1 Lake Park',
},
{
key: '2',
name: 'Jim Green',
money: '¥1,256,000.00',
address: 'London No. 1 Lake Park',
},
{
key: '3',
name: 'Joe Black',
money: '¥120,000.00',
address: 'Sidney No. 1 Lake Park',
},
],
columns:[
{
title: '序号',
className: 'table_column',
dataIndex: 'id',
width:'65px',
align:'center'
},
{
title: '结算时间',
dataIndex: 'money',
width:'120px',
align:'center'
},
{
title: '用户编码',
dataIndex: 'name',
width:'120px',
align:'center'
},
{
title: '客户名称',
dataIndex: '',
width:'120px',
align:'center'
},
{
title: '订单编号',
dataIndex: '',
width:'120px',
align:'center'
},
{
title: '分中心编号',
dataIndex: '',
width:'120px',
align:'center'
},
{
title: '分中心名称',
dataIndex: '',
width:'120px',
align:'center'
},
{
title: '服务机构编号',
dataIndex: '',
width:'120px',
align:'center'
},
{
title: '服务机构名称',
dataIndex: '',
width:'120px',
align:'center'
},
{
title: '银行卡号',
dataIndex: '',
width:'120px',
align:'center'
},
{
title: '银行名称',
dataIndex: '',
width:'120px',
align:'center'
},
{
title: '期初资金',
dataIndex: '',
width:'120px',
align:'center'
},
{
title: '可用资金',
dataIndex: '',
width:'120px',
align:'center'
},
{
title: '可出资金',
dataIndex: '',
width:'120px',
align:'center'
},
{
title: '佣金/服务费(含税)',
dataIndex: '',
width:'120px',
align:'center'
},
{
title: '委托费',
dataIndex: '',
width:'120px',
align:'center'
},
{
title: '当日买入金额',
dataIndex: '',
width:'120px',
align:'center'
},
{
title: '当日卖出金额',
dataIndex: '',
width:'120px',
align:'center'
},
{
title: '服务费分配',
dataIndex: '',
width:'120px',
align:'center'
},
{
title: '资金余额',
dataIndex: '',
width:'120px',
align:'center'
},
{
title: '冻结保证金',
dataIndex: '',
width:'120px',
align:'center'
},
{
title: '结算状态',
dataIndex: '',
width:'120px',
align:'center'
},
],
}
},
methods:{
onClose() {
this.newVisible=false
this.$emit('update:visible', false)
}
},
watch:{
visible(val){
this.newVisible=val
}
}
}
</script>
<style scoped>
/deep/ .ant-modal-header{
border-bottom: none;
}
/deep/ .ant-modal-footer{
border-top: none;
padding: 20px 16px;
}
p{
margin-bottom: 0;
}
.bill_content{
border-top: 2px solid #9A9A9A;
border-left: 2px solid #9A9A9A;
height: 470px;
overflow: auto;
margin-top: 22px;
}
</style>

82
src/components/page/classification/DataQuery.vue

@ -63,6 +63,12 @@
<a-button type="primary" class="query_button"> </a-button>
</div>
<a-table :columns="columns" :data-source="data" bordered :pagination="false">
<template slot="goods_status" slot-scope="goods_status">
<span>{{goods_status==1?'上架中':goods_status==2?'下架中':goods_status==3?'已转让':'已失效'}}</span>
</template>
<template slot="goods_type" slot-scope="goods_type">
<span>{{goods_type==1?'文化资源数据':'文化数字内容'}}</span>
</template>
<template slot="operation">
<a-space :size="24">
<span class="table_operation" @click="SelectDate()">数据查看</span>
@ -74,9 +80,9 @@
class="pagination"
size="small"
:total="total"
v-model="current"
:page-size="pageSize"
:show-total="total => `第 ${current} / ${pageSize} 条 / 总共 ${total} 条`"
v-model="query.page"
:page-size="query.limit"
:show-total="total => `第 ${startTotal} - ${endTotal} 条 / 总共 ${total} 条`"
:page-size-options="pageSizeOptions"
@showSizeChange="onShowSizeChange"
show-size-changer >
@ -94,73 +100,65 @@
import Operation from '../../Operation.vue'
import dataSelect from '../../dateSelect/index.vue'
import operationRecords from '../../operationRecords/index.vue'
import {getAllDate} from '../../../api/index'
export default {
data() {
return{
query:{
islicode:'',
goods_name:'',
entrust_name:'',
goods_entrust:'1',
goods_type:'1',
data_type:'',
createtime:[],
limit:10,
page:1
},
visible:false,
visible1:false,
pageSizeOptions: ['10', '20', '30', '40', '50'],
//
pageSize:10,
total:500,
//
current: 1,
data:[
{
key: '1',
name: 'John Brown',
money: '¥300,000.00',
address: 'New York No. 1 Lake Park',
},
{
key: '2',
name: 'Jim Green',
money: '¥1,256,000.00',
address: 'London No. 1 Lake Park',
},
{
key: '3',
name: 'Joe Black',
money: '¥120,000.00',
address: 'Sidney No. 1 Lake Park',
},
],
startTotal:1,
endTotal:10,
data:[],
columns:[
{
title: '序号',
className: 'table_column',
dataIndex: 'id',
width:'65px',
align:'center'
},
{
title: '创建时间',
dataIndex: 'money',
dataIndex: 'createtime',
align:'center'
},
{
title: 'ISLI标识码',
dataIndex: 'name',
dataIndex: 'goods_islicode',
align:'center'
},
{
title: '标的名称',
dataIndex: '',
dataIndex: 'goods_name',
align:'center'
},
{
title: '委托方',
dataIndex: '',
dataIndex: 'username',
align:'center'
},
{
title: '标的类型',
dataIndex: '',
dataIndex: 'goods_type',
scopedSlots:{customRender:'goods_type'},
align:'center'
},
{
title: '数据状态',
dataIndex: '',
dataIndex: 'goods_status',
scopedSlots:{customRender:'goods_status'},
align:'center'
},
{
@ -177,9 +175,23 @@ export default {
operationRecords
},
created(){
this.getAllDate()
console.info(this.$route)
},
methods:{
getAllDate(){
getAllDate(this.query).then(res=>{
console.info(res)
if(res.code==200){
this.data=res.data.data
this.startTotal=res.data.start
this.endTotal=res.data.end
this.total=res.data.total
}else{
}
})
},
selectRecords(){
this.visible1=true
},
@ -188,7 +200,7 @@ export default {
},
//
onShowSizeChange(current, pageSize){
this.pageSize = pageSize;
this.query.limit = pageSize;
},
handleChange(){

18
src/components/page/fundSettlement/index.vue

@ -54,8 +54,8 @@
<a-table :columns="columns" :data-source="data" bordered :pagination="false">
<template slot="operation">
<a-space :size="24">
<span class="table_operation">账户详情</span>
<span class="table_operation">账单明细</span>
<span class="table_operation" @click="showDetails">账户详情</span>
<span class="table_operation" @click="showBill">账单明细</span>
</a-space>
</template>
</a-table>
@ -75,6 +75,8 @@
</a-pagination>
</div>
</div>
<accountDetails :visible.sync="visible"></accountDetails>
<billDetails :visible.sync="visible1"></billDetails>
</div>
</template>
<script>
@ -82,6 +84,8 @@ import Operation from '../../Operation.vue'
export default {
data() {
return{
visible:false,
visible1:false,
pageSizeOptions: ['10', '20', '30', '40', '50'],
//
pageSize:10,
@ -161,12 +165,20 @@ export default {
}
},
components:{
Operation
Operation,
accountDetails: () => import('../../accountDetails/index.vue'),
billDetails:() => import('../../billDetails/index.vue'),
},
created(){
console.info(this.$route)
},
methods:{
showBill(){
this.visible1=true
},
showDetails(){
this.visible=true
},
//
onShowSizeChange(current, pageSize){
this.pageSize = pageSize;

51
src/utils/request.js

@ -0,0 +1,51 @@
import axios from 'axios';
// axios.defaults.baseURL = '/api'
const service = axios.create({
// process.env.NODE_ENV === 'development' 来判断是否开发环境
// baseURL:process.env.NODE_ENV == 'production' ? 'https://yztapi.xingtongworld.com' : '/api/',
baseURL:'http://jiao.api.alpha.xingtongworld.com',
timeout: 5000,
});
service.interceptors.request.use(
config => {
// let token = localStorage.getItem('token')
// if(token){
// config.headers['token'] = token
// }
return config;
},
error => {
console.log(error);
return Promise.reject();
}
);
service.interceptors.response.use(
response => {
// if (response.data.code === 302) {
// MessageBox.confirm('登录已超时,请重新登录', '退出', {
// confirmButtonText: '登录',
// cancelButtonText: '取消',
// type: 'warning'
// }).then(() => {
// localStorage.removeItem('ms_username')
// localStorage.removeItem('token')
// // this.$router.push('/login');
// location.reload()
// })
// }
if (response.status === 200) {
return response.data;
} else {
Promise.reject();
}
},
error => {
console.log(error);
return Promise.reject();
}
);
export default service;
Loading…
Cancel
Save