fix: 统计页面新功能增加,原有功能优化。

This commit is contained in:
tianyongbao
2024-06-28 13:07:22 +08:00
parent c8b5697264
commit 5c10fa3e8a
54 changed files with 10591 additions and 86 deletions

View File

@@ -114,7 +114,7 @@ const data = reactive({
rules: {
typeName: [{ required: true, message: '记账类型不能为空', trigger:['change', 'blur'] }],
accountName: [{ required: true, message: '记账账户不能为空', trigger: ['change', 'blur'] }],
amount: [{type: 'float', required: true, message: '交易金额不能为空', trigger: ['change', 'blur'] }],
amount: [{type: 'number', required: true, message: '交易金额不能为空', trigger: ['change', 'blur'] }],
dealTypeName: [{ required: true, message: '交易类型不能为空', trigger:['change', 'blur'] }],
dealCategoryName: [{ required: true, message: '交易类别不能为空', trigger: ['change', 'blur'] }],
createTime: [{ required: true, message: '交易时间不能为空', trigger: ['change', 'blur'] }]

View File

@@ -1,10 +1,17 @@
<template>
<view class="container">
<u-sticky offsetTop="8rpx" customNavHeight="8rpx">
<view class="search-view">
<u-input v-model="queryParams.accountName" border="false" type="select" @click="handleAccount" placeholder="请选择记账账户" suffixIcon="search"
<view class="search-view">
<u-input v-model="queryParams.accountName" border="false" type="select" @click="handleAccount" placeholder="请选择记账账户" suffixIcon="search"
suffixIconStyle="color: #909399" class="search-input">
</u-input>
</view>
</u-sticky>
<u-sticky offsetTop="8rpx" customNavHeight="8rpx">
<view class="search-view">
<u-input v-model="queryParams.time" border="false" type="select" readonly placeholder="请选择交易时间"
suffixIconStyle="color: #909399" class="search-input">
</u-input>
<u-icon :name="filterPanel ? 'arrow-up-fill' : 'arrow-down-fill'" color="#666666" size="28" label="筛选"
labelPos="left" labelSize="32rpx" labelColor="#666666" @click="filterPanel = !filterPanel"></u-icon>
<u-icon name="plus-circle-fill" color="#666666" size="28" style="margin-left:10px" label="新增"
@@ -63,7 +70,7 @@
:closeOnClickOverlay="true"
:show="timeShow"
v-model="time"
mode="datetime"
mode="date"
@close="openOrCloseDate"
@cancel="openOrCloseDate"
@confirm="confirm"
@@ -134,6 +141,7 @@ import { listAccounts } from '@/api/invest/accounts'
import { getDicts } from '@/api/system/dict/data.js'
import { timeHandler } from '@/utils/common.ts'
import {onLoad,onShow} from "@dcloudio/uni-app";
import dayjs from 'dayjs'
// 计算属性与监听属性是在vue中而非uniap中 需要注意!!!
import {reactive ,toRefs,ref,computed }from "vue";
const pageNum = ref(1)
@@ -206,10 +214,12 @@ function getList() {
}
function confirm(e) {
const date = timeHandler(new Date(e.value), '-', ':')
let formatValue = 'YYYY-MM-DD'
dayjs(date).format(formatValue)
if (flag.value) {
queryParams.value.startTime = date
queryParams.value.startTime = dayjs(date).format(formatValue)
} else {
queryParams.value.endTime = date
queryParams.value.endTime = dayjs(date).format(formatValue)
}
timeShow.value = false
}
@@ -301,6 +311,9 @@ function selectAccountType(item) {
})
}
function searchSubmit() {
if(queryParams.value.startTime!=''&&queryParams.value.endTime!=''){
queryParams.value.time = queryParams.value.startTime+'-'+queryParams.value.endTime
}
pageNum.value = 1
listData.value = []
getList()
@@ -312,6 +325,7 @@ function selectAccountType(item) {
getList()
}
function resetQuery() {
queryParams.value.time = ''
queryParams.value.accountId = ''
queryParams.value.accountName = ''
queryParams.value.type = ''
@@ -374,7 +388,7 @@ function selectAccountType(item) {
justify-content: space-between;
align-items: center;
position: relative;
margin-bottom: 24rpx;
.search-input {
background: #F5F5F5;

View File

@@ -1,10 +1,17 @@
<template>
<view class="container">
<u-sticky offsetTop="8rpx" customNavHeight="8rpx">
<view class="search-view">
<u-input v-model="queryParams.creditCardName" border="false" type="select" @click="handleCreditCard" placeholder="请选择信用卡" suffixIcon="search"
<view class="search-view">
<u-input v-model="queryParams.creditCardName" border="false" type="select" @click="handleCreditCard" placeholder="请选择信用卡" suffixIcon="search"
suffixIconStyle="color: #909399" class="search-input">
</u-input>
</view>
</u-sticky>
<u-sticky offsetTop="8rpx" customNavHeight="8rpx">
<view class="search-view">
<u-input v-model="queryParams.time" border="false" type="select" readonly placeholder="请选择还款时间"
suffixIconStyle="color: #909399" class="search-input">
</u-input>
<u-icon :name="filterPanel ? 'arrow-up-fill' : 'arrow-down-fill'" color="#666666" size="28" label="筛选"
labelPos="left" labelSize="32rpx" labelColor="#666666" @click="filterPanel = !filterPanel"></u-icon>
<u-icon name="plus-circle-fill" color="#666666" size="28" style="margin-left:10px" label="新增"
@@ -53,7 +60,7 @@
:closeOnClickOverlay="true"
:show="timeShow"
v-model="time"
mode="datetime"
mode="date"
@close="openOrCloseDate"
@cancel="openOrCloseDate"
@confirm="confirm"
@@ -117,6 +124,7 @@ import { listAccounts } from '@/api/invest/accounts'
import { getDicts } from '@/api/system/dict/data.js'
import { timeHandler } from '@/utils/common.ts'
import {onLoad,onShow} from "@dcloudio/uni-app";
import dayjs from 'dayjs'
// 计算属性与监听属性是在vue中而非uniap中 需要注意!!!
import {reactive ,toRefs,ref,computed }from "vue";
const pageNum = ref(1)
@@ -189,10 +197,12 @@ function getList() {
}
function confirm(e) {
const date = timeHandler(new Date(e.value), '-', ':')
let formatValue = 'YYYY-MM-DD'
dayjs(date).format(formatValue)
if (flag.value) {
queryParams.value.startTime = date
queryParams.value.startTime = dayjs(date).format(formatValue)
} else {
queryParams.value.endTime = date
queryParams.value.endTime = dayjs(date).format(formatValue)
}
timeShow.value = false
}
@@ -234,6 +244,9 @@ function dictStr(val, arr) {
return str
}
function searchSubmit() {
if(queryParams.value.startTime!=''&&queryParams.value.endTime!=''){
queryParams.value.time = queryParams.value.startTime+'-'+queryParams.value.endTime
}
pageNum.value = 1
listData.value = []
getList()
@@ -260,6 +273,7 @@ function dictStr(val, arr) {
showCreditCard.value = false
}
function resetQuery() {
queryParams.value.time = ''
queryParams.value.creditCardName = ''
queryParams.value.inAccountId = ''
queryParams.value.type = '2'
@@ -315,7 +329,6 @@ function dictStr(val, arr) {
justify-content: space-between;
align-items: center;
position: relative;
margin-bottom: 24rpx;
.search-input {
background: #F5F5F5;

View File

@@ -1,10 +1,17 @@
<template>
<view class="container">
<u-sticky offsetTop="8rpx" customNavHeight="8rpx">
<view class="search-view">
<u-input v-model="queryParams.accountName" border="false" type="select" @click="handleAccount" placeholder="请选择储蓄账户" suffixIcon="search"
<view class="search-view">
<u-input v-model="queryParams.accountName" border="false" type="select" @click="handleAccount" placeholder="请选择储蓄账户" suffixIcon="search"
suffixIconStyle="color: #909399" class="search-input">
</u-input>
</view>
</u-sticky>
<u-sticky offsetTop="8rpx" customNavHeight="8rpx">
<view class="search-view">
<u-input v-model="queryParams.time" border="false" type="select" readonly placeholder="请选择转账时间"
suffixIconStyle="color: #909399" class="search-input">
</u-input>
<u-icon :name="filterPanel ? 'arrow-up-fill' : 'arrow-down-fill'" color="#666666" size="28" label="筛选"
labelPos="left" labelSize="32rpx" labelColor="#666666" @click="filterPanel = !filterPanel"></u-icon>
<u-icon name="plus-circle-fill" color="#666666" size="28" style="margin-left:10px" label="新增"
@@ -48,7 +55,7 @@
:closeOnClickOverlay="true"
:show="timeShow"
v-model="time"
mode="datetime"
mode="date"
@close="openOrCloseDate"
@cancel="openOrCloseDate"
@confirm="confirm"
@@ -106,6 +113,7 @@ import { listAccounts } from '@/api/invest/accounts'
import { getDicts } from '@/api/system/dict/data.js'
import { timeHandler } from '@/utils/common.ts'
import {onLoad,onShow} from "@dcloudio/uni-app";
import dayjs from 'dayjs'
// 计算属性与监听属性是在vue中而非uniap中 需要注意!!!
import {reactive ,toRefs,ref,computed }from "vue";
const pageNum = ref(1)
@@ -178,10 +186,12 @@ function getList() {
}
function confirm(e) {
const date = timeHandler(new Date(e.value), '-', ':')
let formatValue = 'YYYY-MM-DD'
dayjs(date).format(formatValue)
if (flag.value) {
queryParams.value.startTime = date
queryParams.value.startTime = dayjs(date).format(formatValue)
} else {
queryParams.value.endTime = date
queryParams.value.endTime = dayjs(date).format(formatValue)
}
timeShow.value = false
}
@@ -223,6 +233,9 @@ function dictStr(val, arr) {
return str
}
function searchSubmit() {
if(queryParams.value.startTime!=''&&queryParams.value.endTime!=''){
queryParams.value.time = queryParams.value.startTime+'-'+queryParams.value.endTime
}
pageNum.value = 1
listData.value = []
getList()
@@ -254,6 +267,7 @@ function dictStr(val, arr) {
getList()
}
function resetQuery() {
queryParams.value.time = ''
queryParams.value.name = ''
queryParams.value.accountName = ''
queryParams.value.type = ''
@@ -309,7 +323,6 @@ function dictStr(val, arr) {
justify-content: space-between;
align-items: center;
position: relative;
margin-bottom: 24rpx;
.search-input {
background: #F5F5F5;

View File

@@ -1,10 +1,17 @@
<template>
<view class="container">
<u-sticky offsetTop="8rpx" customNavHeight="8rpx">
<view class="search-view">
<u--input v-model="queryParams.name" border="false" placeholder="请输入投资账户名称" class="search-input"
<view class="search-view">
<u--input v-model="queryParams.name" border="false" placeholder="请输入投资账户名称" class="search-input"
@blur="searchBlur" suffixIcon="search" suffixIconStyle="color: #909399">
</u--input>
</view>
</u-sticky>
<u-sticky offsetTop="8rpx" customNavHeight="8rpx">
<view class="search-view">
<u-input v-model="queryParams.time" border="false" type="select" readonly placeholder="请选择交易时间"
suffixIconStyle="color: #909399" class="search-input">
</u-input>
<u-icon :name="filterPanel ? 'arrow-up-fill' : 'arrow-down-fill'" color="#666666" size="28" label="筛选"
labelPos="left" labelSize="32rpx" labelColor="#666666" @click="filterPanel = !filterPanel"></u-icon>
<u-icon name="plus-circle-fill" color="#666666" size="28" style="margin-left:10px" label="新增"
@@ -53,7 +60,7 @@
:closeOnClickOverlay="true"
:show="timeShow"
v-model="time"
mode="datetime"
mode="date"
@close="openOrCloseDate"
@cancel="openOrCloseDate"
@confirm="confirm"
@@ -114,6 +121,7 @@ import {
import { getDicts } from '@/api/system/dict/data.js'
import { timeHandler } from '@/utils/common.ts'
import {onLoad,onShow} from "@dcloudio/uni-app";
import dayjs from 'dayjs'
// 计算属性与监听属性是在vue中而非uniap中 需要注意!!!
import {reactive ,toRefs,ref,computed }from "vue";
const pageNum = ref(1)
@@ -179,10 +187,12 @@ function getList() {
}
function confirm(e) {
const date = timeHandler(new Date(e.value), '-', ':')
let formatValue = 'YYYY-MM-DD'
dayjs(date).format(formatValue)
if (flag.value) {
queryParams.value.startTime = date
queryParams.value.startTime = dayjs(date).format(formatValue)
} else {
queryParams.value.endTime = date
queryParams.value.endTime = dayjs(date).format(formatValue)
}
timeShow.value = false
}
@@ -243,6 +253,9 @@ function selectAccountType(item) {
})
}
function searchSubmit() {
if(queryParams.value.startTime!=''&&queryParams.value.endTime!=''){
queryParams.value.time = queryParams.value.startTime+'-'+queryParams.value.endTime
}
pageNum.value = 1
listData.value = []
getList()
@@ -254,6 +267,7 @@ function selectAccountType(item) {
getList()
}
function resetQuery() {
queryParams.value.time = ''
queryParams.value.name = ''
queryParams.value.type = '5'
queryParams.value.dealType = ''
@@ -315,7 +329,6 @@ function selectAccountType(item) {
justify-content: space-between;
align-items: center;
position: relative;
margin-bottom: 24rpx;
.search-input {
background: #F5F5F5;

View File

@@ -1,10 +1,17 @@
<template>
<view class="container">
<u-sticky offsetTop="8rpx" customNavHeight="8rpx">
<view class="search-view">
<u--input v-model="queryParams.name" border="false" placeholder="请输入投资账户名称" class="search-input"
<view class="search-view">
<u--input v-model="queryParams.name" border="false" placeholder="请输入投资账户名称" class="search-input"
@blur="searchBlur" suffixIcon="search" suffixIconStyle="color: #909399">
</u--input>
</view>
</u-sticky>
<u-sticky offsetTop="8rpx" customNavHeight="8rpx">
<view class="search-view">
<u-input v-model="queryParams.time" border="false" type="select" readonly placeholder="请选择转账时间"
suffixIconStyle="color: #909399" class="search-input">
</u-input>
<u-icon :name="filterPanel ? 'arrow-up-fill' : 'arrow-down-fill'" color="#666666" size="28" label="筛选"
labelPos="left" labelSize="32rpx" labelColor="#666666" @click="filterPanel = !filterPanel"></u-icon>
<u-icon name="plus-circle-fill" color="#666666" size="28" style="margin-left:10px" label="新增"
@@ -17,7 +24,7 @@
<view v-for="item in dealTypeList" :key="item.id" class="state-item"
:class="item.selected ? 'active' : ''" @click="selectStatus(item)">{{ item.dictLabel }}</view>
</view>
<view class="select-header">还款时间</view>
<view class="select-header">转账时间</view>
<view class="selcet-content" style="padding: 0 24rpx">
<u-input
:disabled="true"
@@ -53,7 +60,7 @@
:closeOnClickOverlay="true"
:show="timeShow"
v-model="time"
mode="datetime"
mode="date"
@close="openOrCloseDate"
@cancel="openOrCloseDate"
@confirm="confirm"
@@ -114,6 +121,7 @@ import {
import { getDicts } from '@/api/system/dict/data.js'
import { timeHandler } from '@/utils/common.ts'
import {onLoad,onShow} from "@dcloudio/uni-app";
import dayjs from 'dayjs'
// 计算属性与监听属性是在vue中而非uniap中 需要注意!!!
import {reactive ,toRefs,ref,computed }from "vue";
const pageNum = ref(1)
@@ -178,10 +186,12 @@ function getList() {
}
function confirm(e) {
const date = timeHandler(new Date(e.value), '-', ':')
let formatValue = 'YYYY-MM-DD'
dayjs(date).format(formatValue)
if (flag.value) {
queryParams.value.startTime = date
queryParams.value.startTime = dayjs(date).format(formatValue)
} else {
queryParams.value.endTime = date
queryParams.value.endTime = dayjs(date).format(formatValue)
}
timeShow.value = false
}
@@ -220,6 +230,9 @@ function dictStr(val, arr) {
return str
}
function searchSubmit() {
if(queryParams.value.startTime!=''&&queryParams.value.endTime!=''){
queryParams.value.time = queryParams.value.startTime+'-'+queryParams.value.endTime
}
pageNum.value = 1
listData.value = []
getList()
@@ -231,6 +244,7 @@ function dictStr(val, arr) {
getList()
}
function resetQuery() {
queryParams.value.time = ''
queryParams.value.name = ''
queryParams.value.type = '3'
queryParams.value.dealType = ''
@@ -285,7 +299,6 @@ function dictStr(val, arr) {
justify-content: space-between;
align-items: center;
position: relative;
margin-bottom: 24rpx;
.search-input {
background: #F5F5F5;

View File

@@ -1,10 +1,17 @@
<template>
<view class="container">
<u-sticky offsetTop="8rpx" customNavHeight="8rpx">
<view class="search-view">
<u--input v-model="queryParams.name" border="false" placeholder="请输入借贷账户名称" class="search-input"
<view class="search-view">
<u--input v-model="queryParams.name" border="false" placeholder="请输入借贷账户名称" class="search-input"
@blur="searchBlur" suffixIcon="search" suffixIconStyle="color: #909399">
</u--input>
</view>
</u-sticky>
<u-sticky offsetTop="8rpx" customNavHeight="8rpx">
<view class="search-view">
<u-input v-model="queryParams.time" border="false" type="select" readonly placeholder="请选择借贷时间"
suffixIconStyle="color: #909399" class="search-input">
</u-input>
<u-icon :name="filterPanel ? 'arrow-up-fill' : 'arrow-down-fill'" color="#666666" size="28" label="筛选"
labelPos="left" labelSize="32rpx" labelColor="#666666" @click="filterPanel = !filterPanel"></u-icon>
<u-icon name="plus-circle-fill" color="#666666" size="28" style="margin-left:10px" label="新增"
@@ -48,7 +55,7 @@
:closeOnClickOverlay="true"
:show="timeShow"
v-model="time"
mode="datetime"
mode="date"
@close="openOrCloseDate"
@cancel="openOrCloseDate"
@confirm="confirm"
@@ -112,6 +119,7 @@ import {
import { getDicts } from '@/api/system/dict/data.js'
import { timeHandler } from '@/utils/common.ts'
import {onLoad,onShow} from "@dcloudio/uni-app";
import dayjs from 'dayjs'
// 计算属性与监听属性是在vue中而非uniap中 需要注意!!!
import {reactive ,toRefs,ref,computed }from "vue";
const pageNum = ref(1)
@@ -176,10 +184,12 @@ function getList() {
}
function confirm(e) {
const date = timeHandler(new Date(e.value), '-', ':')
let formatValue = 'YYYY-MM-DD'
dayjs(date).format(formatValue)
if (flag.value) {
queryParams.value.startTime = date
queryParams.value.startTime = dayjs(date).format(formatValue)
} else {
queryParams.value.endTime = date
queryParams.value.endTime = dayjs(date).format(formatValue)
}
timeShow.value = false
}
@@ -218,6 +228,9 @@ function dictStr(val, arr) {
return str
}
function searchSubmit() {
if(queryParams.value.startTime!=''&&queryParams.value.endTime!=''){
queryParams.value.time = queryParams.value.startTime+'-'+queryParams.value.endTime
}
pageNum.value = 1
listData.value = []
getList()
@@ -229,6 +242,7 @@ function dictStr(val, arr) {
getList()
}
function resetQuery() {
queryParams.value.time = ''
queryParams.value.name = ''
queryParams.value.type = '5'
queryParams.value.dealType = ''
@@ -283,7 +297,7 @@ function dictStr(val, arr) {
justify-content: space-between;
align-items: center;
position: relative;
margin-bottom: 24rpx;
.search-input {
background: #F5F5F5;

View File

@@ -1,10 +1,17 @@
<template>
<view class="container">
<u-sticky offsetTop="8rpx" customNavHeight="8rpx">
<view class="search-view">
<u-input v-model="queryParams.accountName" border="false" type="select" @click="handleAccount" placeholder="请选择POS机" suffixIcon="search"
<view class="search-view">
<u-input v-model="queryParams.accountName" border="false" type="select" @click="handleAccount" placeholder="请选择POS机" suffixIcon="search"
suffixIconStyle="color: #909399" class="search-input">
</u-input>
</view>
</u-sticky>
<u-sticky offsetTop="8rpx" customNavHeight="8rpx">
<view class="search-view">
<u-input v-model="queryParams.time" border="false" type="select" readonly placeholder="请选择刷卡时间"
suffixIconStyle="color: #909399" class="search-input">
</u-input>
<u-icon :name="filterPanel ? 'arrow-up-fill' : 'arrow-down-fill'" color="#666666" size="28" label="筛选"
labelPos="left" labelSize="32rpx" labelColor="#666666" @click="filterPanel = !filterPanel"></u-icon>
<u-icon name="plus-circle-fill" color="#666666" size="28" style="margin-left:10px" label="新增"
@@ -48,7 +55,7 @@
:closeOnClickOverlay="true"
:show="timeShow"
v-model="time"
mode="datetime"
mode="date"
@close="openOrCloseDate"
@cancel="openOrCloseDate"
@confirm="confirm"
@@ -119,9 +126,9 @@ import {
delAccountsTransferRecord,
} from '@/api/invest/accountsTransferRecord'
import { listAccounts } from '@/api/invest/accounts'
import { getDicts } from '@/api/system/dict/data.js'
import { timeHandler } from '@/utils/common.ts'
import {onLoad,onShow} from "@dcloudio/uni-app";
import dayjs from 'dayjs'
// 计算属性与监听属性是在vue中而非uniap中 需要注意!!!
import {reactive ,toRefs,ref,computed }from "vue";
const pageNum = ref(1)
@@ -195,10 +202,12 @@ function getList() {
}
function confirm(e) {
const date = timeHandler(new Date(e.value), '-', ':')
let formatValue = 'YYYY-MM-DD'
dayjs(date).format(formatValue)
if (flag.value) {
queryParams.value.startTime = date
queryParams.value.startTime = dayjs(date).format(formatValue)
} else {
queryParams.value.endTime = date
queryParams.value.endTime = dayjs(date).format(formatValue)
}
timeShow.value = false
}
@@ -211,6 +220,9 @@ function settingCancel() {
settingPickShow.value = false
}
function searchSubmit() {
if(queryParams.value.startTime!=''&&queryParams.value.endTime!=''){
queryParams.value.time = queryParams.value.startTime+'-'+queryParams.value.endTime
}
pageNum.value = 1
listData.value = []
getList()
@@ -242,6 +254,7 @@ function settingCancel() {
getList()
}
function resetQuery() {
queryParams.value.time = ''
queryParams.value.name = ''
queryParams.value.posId = ''
queryParams.value.type = '1'
@@ -304,7 +317,6 @@ function settingCancel() {
justify-content: space-between;
align-items: center;
position: relative;
margin-bottom: 24rpx;
.search-input {
background: #F5F5F5;