diff --git a/.env.development b/.env.development index 29fd295..eb38a70 100644 --- a/.env.development +++ b/.env.development @@ -2,9 +2,9 @@ ENV = 'development' # base api '/dev-api' -#VUE_APP_BASE_API = 'http://test.renniting.cn/bcp/' +VUE_APP_BASE_API = 'http://test.renniting.cn/bcp/' -VUE_APP_BASE_API = 'http://127.0.0.1:8099' +#VUE_APP_BASE_API = 'http://127.0.0.1:8099' # vue-cli uses the VUE_CLI_BABEL_TRANSPILE_MODULES environment variable, diff --git a/src/api/account.js b/src/api/account.js new file mode 100644 index 0000000..ea2b7ab --- /dev/null +++ b/src/api/account.js @@ -0,0 +1,35 @@ +import request from '@/utils/request' + +/** + * 获取车主账户 + * @param param + */ +export function getAcctPersonGroupByAcctType(param) { + return request({ + url: '/personPc/acct/getAcctPersonGroupByAcctType', + method: 'post', + data:param + }) +} +/** + * 分页查询车主支出详情 + * @param param + */ +export function queryAcctPayOutForPage(param) { + return request({ + url: '/personPc/acct/queryAcctPayOutForPage', + method: 'post', + data:param + }) +} +/** + * 分页查询车主收费端充值的收入详情" + * @param param + */ +export function queryCustRechargeFeeStaticMsg(param) { + return request({ + url: '/personPc/acct/queryCustRechargeFeeStaticMsg', + method: 'post', + data:param + }) +} diff --git a/src/api/index.js b/src/api/index.js new file mode 100644 index 0000000..f4e97dd --- /dev/null +++ b/src/api/index.js @@ -0,0 +1,35 @@ +import request from '@/utils/request' + +/** + * 获取车主首页卡片信息 + * @param param + */ +export function getCustIndexBaseInfo(param) { + return request({ + url: '/personPc/index/getCustIndexBaseInfo', + method: 'post', + data:param + }) +} +/** + * 获取车主月支出 + * @param param + */ +export function queryOwnerPayOutByMonth(param) { + return request({ + url: '/personPc/index/queryOwnerPayOutByMonth', + method: 'post', + data:param + }) +} +/** + * 获取车主停车记录 + * @param param + */ +export function queryOwnerParkRecord(param) { + return request({ + url: '/personPc/index/queryOwnerParkRecord', + method: 'post', + data:param + }) +} diff --git a/src/filters/index.js b/src/filters/index.js index d533459..bfcf90e 100644 --- a/src/filters/index.js +++ b/src/filters/index.js @@ -235,3 +235,110 @@ export function payOrderTypeFomatter(row,value){ return '未知'; } }; + +/** + * 订单状态 + * @param row + * @param value + * @returns {string} + */ +export function inOutStateFormatter(row, value) { + + let orderState = row.orderState; + //停车状态 10:在场 ,20:离场,30:预订 + let parkState = row.parkState; + if (null == parkState) { + if (null != row.parkOutTime) { + parkState = 20; + } else { + parkState = 10; + } + } + + if (parkState == 10) { + return "在场"; + } + + if (parkState == 20) { + + if (orderState == 52) { + return "欠费"; + } else { + return "离场"; + } + } +}; + +/** + * 停车时长 + * @param row + * @param value + * @returns {*} + */ +export function parkingDurationFormatter (row, value) { + // + let parkState = row.parkState; + if (null == parkState) { + if (null != row.parkOutTime) { + parkState = 20; + } else { + parkState = 10; + } + } + + let inTime = row.parkInTime; + if (parkState == 10) { + let thisTime = new Date().getTime(); + let parkDuration = (thisTime - inTime) / 1000; + return formatSeconds(parkDuration); + } + + + if (value == null) { + return ""; + } else { + return formatSeconds(value); + } +}; +function formatSeconds(value) { + let theTime = parseInt(value);// 秒 + let theTime1 = 0;// 分 + let theTime2 = 0;// 小时 + let theTime3 = 0;//天 + if (theTime < 60) { + return theTime + '秒'; + } + if (theTime > 60) { + theTime1 = parseInt(theTime / 60); + theTime = parseInt(theTime % 60); + + + } + + if (theTime1 > 60) { + theTime2 = parseInt(theTime1 / 60); + theTime1 = parseInt(theTime1 % 60); + } + + if (theTime2 > 24) { + theTime3 = parseInt(theTime2 / 24); + theTime2 = parseInt(theTime2 % 24); + } + + let result = ''; + if (theTime1 == 0 && theTime2 == 0 && theTime3 == 0) { + result = parseInt(theTime) + "秒" + } + + if (theTime1 > 0) { + result = "" + parseInt(theTime1) + "分钟" + result; + } + if (theTime2 > 0) { + result = "" + parseInt(theTime2) + "小时" + result; + } + + if (theTime3 > 0) { + result = "" + parseInt(theTime3) + "天" + result; + } + return result; +}; diff --git a/src/views/account/index.vue b/src/views/account/index.vue index c6e2ae8..eaa7bbc 100644 --- a/src/views/account/index.vue +++ b/src/views/account/index.vue @@ -10,7 +10,7 @@ 充值账户(元) - 240.0 + {{rechargeBalance|fen2Yuan}} @@ -23,7 +23,7 @@ 赠送账户(元) - 140.0 + {{presentBalance|fen2Yuan}} @@ -34,70 +34,114 @@ + + + + + :total="total" + @size-change="handleSizeChange" + @current-change="handleSizeChange" + @prev-click="handleSizeChange" + @next-click="handleSizeChange"> + + + + + + :total="total2" + @size-change="handleSizeChange2" + @current-change="handleSizeChange2" + @prev-click="handleSizeChange2" + @next-click="handleSizeChange2"> @@ -111,7 +155,8 @@ import pagination from '@/components/Pagination/index.vue'; import LoadingBar from 'nprogress' // progress bar import 'nprogress/nprogress.css' // progress bar style - +import {getAcctPersonGroupByAcctType,queryCustRechargeFeeStaticMsg,queryAcctPayOutForPage} from '@/api/account'; +import {fen2Yuan,string2Date} from '@/filters/index'; export default { components:{ 'i-pagination': pagination @@ -121,101 +166,140 @@ export default { }, data() { return { + rechargeBalance:0, + presentBalance:0, list: null, tabPosition:'top', listLoading: true, btnLoading:false, loading:false, - paytableData: [ - { - parkName: '个人账户', - license: '21', - money: '31', - inTime: '2019-06-02 09:00:00', - }, - { - parkName: '个人账户', - license: '10', - money: '31', - inTime: '2019-06-02 00:23:00', - }, - { - parkName: '个人账户', - license: '21', - money: '31', - inTime: '2019-06-02 09:00:00', - }, - { - parkName: '个人账户', - license: '10', - money: '31', - inTime: '2019-06-02 00:23:00', - },{ - parkName: '个人账户', - license: '10', - money: '31', - inTime: '2019-06-02 00:23:00', - }, + rechargeTableData: [ ], - outtableData: [ - { - parkName: '个人账户', - license: '21', - money: '31', - outtype: '停车支付', - inTime: '2019-06-02 09:00:00', - }, - { - parkName: '个人账户', - license: '10', - money: '31', - outtype: '停车支付', - inTime: '2019-06-02 00:23:00', - }, - { - parkName: '个人账户', - license: '21', - money: '31', - outtype: '停车支付', - inTime: '2019-06-02 09:00:00', - }, - { - parkName: '个人账户', - license: '10', - money: '31', - outtype: '停车支付', - inTime: '2019-06-02 00:23:00', - }, + payOutTableData: [ ], /** 分页*/ - total: 32, + total: 0, currentPage: 1, pageSize: 10, + total2: 0, + currentPage2: 1, + pageSize2: 10, } }, - computed: { + mounted: function() { + this.getAcctPersonGroupByAcctType(); + this.queryCustRechargeFeeStaticMsg(); + this.queryAcctPayOutForPage(); }, - created() { - }, - mounted:function () { - }, methods: { - queryBtn:function () { - LoadingBar.start(); - this.btnLoading=true; - this.loading = true; + /** + * 获取查询参数 + */ + getQueryParams: function() { + let userInfo = this.$store.state.user.userInfo; + let beginTime = new Date(); + let endTime = new Date(); + beginTime.setFullYear(2017); + + let req = { + beginTime:beginTime, + endTime:endTime, + sysCode:'10003', + custId:userInfo.custId, + // custId:'501519113641649119232',//账户支出 + //custId:'501522943145292840960',//账户充值 + + } + return req; + }, + /** + * 查询车主账户信息 + */ + getAcctPersonGroupByAcctType: function() { + let req = this.getQueryParams(); + getAcctPersonGroupByAcctType(req).then(response =>{ + if(response.code=='8888'){ + let data = response.data; + let rechargeBalance = 0; + let presentBalance = 0; + data.forEach(item=>{ + if(item.acctType == 1){ + rechargeBalance += item.acctBalance; + } + if(item.acctType == 7){ + presentBalance += item.acctBalance; + } + }); + this.rechargeBalance = rechargeBalance; + this.presentBalance = presentBalance; + }else{ + console.log(response); + } + }); }, - /**获取子组件页码方法*/ - handleSizeChange: function(pages) { - this.currentPage = pages.page; - this.pageSize = pages.limit; + /** + * 查询车主充值记录 + */ + queryCustRechargeFeeStaticMsg: function() { + let req = this.getQueryParams(); + req.baseRequest={ + pageNum:this.currentPage, + pageSize:this.pageSize, + }, + queryCustRechargeFeeStaticMsg(req).then(response =>{ + if(response.code=='8888'){ + this.rechargeTableData = response.data.rows; + this.total = response.data.total; + }else{ + console.log(response); + } + + }); + }, + + /** + * 查询车主支出记录 + */ + queryAcctPayOutForPage: function() { + let req = this.getQueryParams(); + + req.baseRequest={ + pageNum:this.currentPage2, + pageSize:this.pageSize2, + }, + queryAcctPayOutForPage (req).then(response =>{ + if(response.code=='8888'){ + this.payOutTableData = response.data.rows; + this.total2 = response.data.total; + }else{ + console.log(response); + } + + }); + }, + // 获取子组件页码方法 + handleSizeChange: function(page) { + console.log(page) + this.currentPage = page; /** 调用表格数据.*/ - this.queryBtn(); + this.queryCustRechargeFeeStaticMsg(); + }, + // 获取子组件页码方法 + handleSizeChange2: function(page) { + console.log(page) + this.currentPage2 = page; + /** 调用表格数据.*/ + this.queryAcctPayOutForPage(); + + }, + + }, + + - } }