fixbug: 🐛 导入账单无法下载模板;查询账单添加多个类别查询
This commit is contained in:
parent
00789d423d
commit
3bfff5a884
|
@ -5,6 +5,7 @@ import type { BaseResult, ResultTable } from '@/api/service/types';
|
||||||
export const fetchGetUserBillList = (data: any) => {
|
export const fetchGetUserBillList = (data: any) => {
|
||||||
data = {
|
data = {
|
||||||
amount: data.amount,
|
amount: data.amount,
|
||||||
|
categoryIds: data.categoryIds,
|
||||||
type: data.type,
|
type: data.type,
|
||||||
description: data.description,
|
description: data.description,
|
||||||
startDate: data.startDate,
|
startDate: data.startDate,
|
||||||
|
|
|
@ -29,6 +29,8 @@ export const useBillUserStore = defineStore('billUserStore', {
|
||||||
form: {
|
form: {
|
||||||
// 类型:1 - 收入,-1 - 支出
|
// 类型:1 - 收入,-1 - 支出
|
||||||
type: undefined,
|
type: undefined,
|
||||||
|
// 类别id
|
||||||
|
categoryIds: undefined,
|
||||||
// 金额
|
// 金额
|
||||||
amount: undefined,
|
amount: undefined,
|
||||||
// 描述
|
// 描述
|
||||||
|
|
|
@ -7,15 +7,15 @@ export const columns: TableColumnList = [
|
||||||
{ type: 'selection', align: 'left' },
|
{ type: 'selection', align: 'left' },
|
||||||
{ type: 'index', index: (index: number) => index + 1, label: '序号', width: 60 },
|
{ type: 'index', index: (index: number) => index + 1, label: '序号', width: 60 },
|
||||||
// 模板名称
|
// 模板名称
|
||||||
{ label: $t('emailTemplate_templateName'), prop: 'templateName' },
|
{ label: $t('emailTemplate_templateName'), prop: 'templateName', minWidth: 150 },
|
||||||
// 模板名称
|
// 模板名称
|
||||||
{ label: $t('emailTemplate_emailUser'), prop: 'emailUser', slot: 'emailUser' },
|
{ label: $t('emailTemplate_emailUser'), prop: 'emailUser', slot: 'emailUser', minWidth: 200 },
|
||||||
// 主题
|
// 主题
|
||||||
{ label: $t('emailTemplate_subject'), prop: 'subject' },
|
{ label: $t('emailTemplate_subject'), prop: 'subject', minWidth: 150 },
|
||||||
// 邮件内容
|
// 邮件内容
|
||||||
{ label: $t('emailTemplate_body'), prop: 'body' },
|
{ label: $t('emailTemplate_body'), prop: 'body' },
|
||||||
// 邮件类型
|
// 邮件类型
|
||||||
{ label: $t('emailTemplate_type'), prop: 'summary' },
|
{ label: $t('emailTemplate_type'), prop: 'summary', minWidth: 150 },
|
||||||
// 是否默认
|
// 是否默认
|
||||||
{
|
{
|
||||||
label: $t('isDefault'),
|
label: $t('isDefault'),
|
||||||
|
@ -29,6 +29,7 @@ export const columns: TableColumnList = [
|
||||||
</ElTag>
|
</ElTag>
|
||||||
);
|
);
|
||||||
},
|
},
|
||||||
|
minWidth: 100,
|
||||||
},
|
},
|
||||||
{ label: $t('table.updateTime'), prop: 'updateTime', sortable: true, width: 160 },
|
{ label: $t('table.updateTime'), prop: 'updateTime', sortable: true, width: 160 },
|
||||||
{ label: $t('table.createTime'), prop: 'createTime', sortable: true, width: 160 },
|
{ label: $t('table.createTime'), prop: 'createTime', sortable: true, width: 160 },
|
||||||
|
|
|
@ -6,11 +6,11 @@ export const columns: TableColumnList = [
|
||||||
{ type: 'selection', align: 'left' },
|
{ type: 'selection', align: 'left' },
|
||||||
{ type: 'index', index: (index: number) => index + 1, label: '序号', width: 60 },
|
{ type: 'index', index: (index: number) => index + 1, label: '序号', width: 60 },
|
||||||
// 邮箱
|
// 邮箱
|
||||||
{ label: $t('emailUsers_email'), prop: 'email' },
|
{ label: $t('emailUsers_email'), prop: 'email', minWidth: 150 },
|
||||||
// 密码
|
// 密码
|
||||||
{ label: $t('emailUsers_password'), prop: 'password' },
|
{ label: $t('emailUsers_password'), prop: 'password', minWidth: 150 },
|
||||||
// Host地址
|
// Host地址
|
||||||
{ label: $t('emailUsers_host'), prop: 'host' },
|
{ label: $t('emailUsers_host'), prop: 'host', minWidth: 100 },
|
||||||
// 端口号
|
// 端口号
|
||||||
{ label: $t('emailUsers_port'), prop: 'port', width: 90 },
|
{ label: $t('emailUsers_port'), prop: 'port', width: 90 },
|
||||||
// 邮箱协议
|
// 邮箱协议
|
||||||
|
|
|
@ -16,10 +16,13 @@ import { FormInstance } from 'element-plus';
|
||||||
import { incomeOrExpend } from '@/enums/baseConstant';
|
import { incomeOrExpend } from '@/enums/baseConstant';
|
||||||
import { getCurrentMouthDate } from '@/utils/date';
|
import { getCurrentMouthDate } from '@/utils/date';
|
||||||
import { currentMouth, currentWeek, currentYear, shortcutsAllMouth } from '@/enums/dateEnums';
|
import { currentMouth, currentWeek, currentYear, shortcutsAllMouth } from '@/enums/dateEnums';
|
||||||
|
import { useCategoryUserStore } from '@/store/financialUser/categoryUser';
|
||||||
|
|
||||||
const tableRef = ref();
|
const tableRef = ref();
|
||||||
const formRef = ref();
|
const formRef = ref();
|
||||||
const billStore = useBillUserStore();
|
const billStore = useBillUserStore();
|
||||||
|
const categoryUserStore = useCategoryUserStore();
|
||||||
|
|
||||||
// 日期范围选择
|
// 日期范围选择
|
||||||
const shortcuts = [
|
const shortcuts = [
|
||||||
{ text: $t('thisWeek'), value: currentWeek },
|
{ text: $t('thisWeek'), value: currentWeek },
|
||||||
|
@ -57,6 +60,7 @@ const resetForm = async (formEl: FormInstance | undefined) => {
|
||||||
|
|
||||||
onMounted(() => {
|
onMounted(() => {
|
||||||
onSearch();
|
onSearch();
|
||||||
|
categoryUserStore.getCategoryUserAllList();
|
||||||
});
|
});
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
|
@ -70,6 +74,13 @@ onMounted(() => {
|
||||||
</el-select>
|
</el-select>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
|
|
||||||
|
<!-- 类别id -->
|
||||||
|
<el-form-item :label="$t('category')" prop="categoryId">
|
||||||
|
<el-select v-model="billStore.form.categoryIds" :placeholder="$t('select') + $t('category')" class="!w-[180px]" clearable filterable multiple>
|
||||||
|
<el-option v-for="item in categoryUserStore.allCategoryList" :key="item.id" :label="item.categoryName" :navigationBar="false" :value="item.id" />
|
||||||
|
</el-select>
|
||||||
|
</el-form-item>
|
||||||
|
|
||||||
<!-- 金额 -->
|
<!-- 金额 -->
|
||||||
<el-form-item :label="$t('amount')" prop="amount">
|
<el-form-item :label="$t('amount')" prop="amount">
|
||||||
<el-input v-model="billStore.form.amount" :min="0" :placeholder="$t('input') + $t('amount')" :step="0.01" autocomplete="off" type="number" />
|
<el-input v-model="billStore.form.amount" :min="0" :placeholder="$t('input') + $t('amount')" :step="0.01" autocomplete="off" type="number" />
|
||||||
|
|
|
@ -8,15 +8,15 @@ export const columns: TableColumnList = [
|
||||||
// 消息标题
|
// 消息标题
|
||||||
{ label: $t('title'), prop: 'title' },
|
{ label: $t('title'), prop: 'title' },
|
||||||
// 消息简介
|
// 消息简介
|
||||||
{ label: $t('summary'), prop: 'summary' },
|
{ label: $t('summary'), prop: 'summary', minWidth: 150 },
|
||||||
// 发送人昵称
|
// 发送人昵称
|
||||||
{ label: $t('sendNickname'), prop: 'sendNickname', slot: 'sendNickname' },
|
{ label: $t('sendNickname'), prop: 'sendNickname', minWidth: 150, slot: 'sendNickname' },
|
||||||
// 接受人昵称
|
// 接受人昵称
|
||||||
{ label: $t('receivedUserNickname'), prop: 'receivedUserNickname', slot: 'receivedUserNickname' },
|
{ label: $t('receivedUserNickname'), prop: 'receivedUserNickname', minWidth: 150, slot: 'receivedUserNickname' },
|
||||||
// 消息类型
|
// 消息类型
|
||||||
{ label: $t('messageType'), prop: 'messageType', slot: 'messageType' },
|
{ label: $t('messageType'), prop: 'messageType', minWidth: 120, slot: 'messageType' },
|
||||||
// 编辑器类型
|
// 编辑器类型
|
||||||
{ label: $t('editorType'), prop: 'editorType' },
|
{ label: $t('editorType'), prop: 'editorType', minWidth: 150 },
|
||||||
// 封面
|
// 封面
|
||||||
{ label: $t('cover'), prop: 'cover', slot: 'cover', width: 80 },
|
{ label: $t('cover'), prop: 'cover', slot: 'cover', width: 80 },
|
||||||
// 消息等级
|
// 消息等级
|
||||||
|
|
|
@ -7,17 +7,17 @@ export const columns: TableColumnList = [
|
||||||
{ type: 'selection', align: 'left' },
|
{ type: 'selection', align: 'left' },
|
||||||
{ type: 'index', index: (index: number) => index + 1, label: '序号', width: 60 },
|
{ type: 'index', index: (index: number) => index + 1, label: '序号', width: 60 },
|
||||||
// 消息标题
|
// 消息标题
|
||||||
{ label: $t('title'), prop: 'title' },
|
{ label: $t('title'), prop: 'title', minWidth: 150 },
|
||||||
// 消息简介
|
// 消息简介
|
||||||
{ label: $t('summary'), prop: 'summary' },
|
{ label: $t('summary'), prop: 'summary', minWidth: 200 },
|
||||||
// 发送人昵称
|
// 发送人昵称
|
||||||
{ label: $t('sendNickname'), prop: 'sendNickname', slot: 'sendNickname' },
|
{ label: $t('sendNickname'), prop: 'sendNickname', slot: 'sendNickname', minWidth: 150 },
|
||||||
// 接受人昵称
|
// 接受人昵称
|
||||||
{ label: $t('receivedUserNickname'), prop: 'receivedUserNickname' },
|
{ label: $t('receivedUserNickname'), prop: 'receivedUserNickname', minWidth: 150 },
|
||||||
// 消息类型
|
// 消息类型
|
||||||
{ label: $t('messageType'), prop: 'messageType', slot: 'messageType' },
|
{ label: $t('messageType'), prop: 'messageType', slot: 'messageType', minWidth: 150 },
|
||||||
// 编辑器类型
|
// 编辑器类型
|
||||||
{ label: $t('editorType'), prop: 'editorType' },
|
{ label: $t('editorType'), prop: 'editorType', minWidth: 120 },
|
||||||
// 封面
|
// 封面
|
||||||
{ label: $t('cover'), prop: 'cover', slot: 'cover', width: 80 },
|
{ label: $t('cover'), prop: 'cover', slot: 'cover', width: 80 },
|
||||||
// 消息等级
|
// 消息等级
|
||||||
|
@ -34,7 +34,7 @@ export const columns: TableColumnList = [
|
||||||
width: 100,
|
width: 100,
|
||||||
},
|
},
|
||||||
// 消息等级详情
|
// 消息等级详情
|
||||||
{ label: $t('extra'), prop: 'extra', slot: 'extra' },
|
{ label: $t('extra'), prop: 'extra', slot: 'extra', minWidth: 150 },
|
||||||
{ label: $t('table.updateTime'), prop: 'updateTime', sortable: true, width: 160 },
|
{ label: $t('table.updateTime'), prop: 'updateTime', sortable: true, width: 160 },
|
||||||
{ label: $t('table.createTime'), prop: 'createTime', sortable: true, width: 160 },
|
{ label: $t('table.createTime'), prop: 'createTime', sortable: true, width: 160 },
|
||||||
{ label: $t('table.createUser'), prop: 'createUser', slot: 'createUser', width: 130 },
|
{ label: $t('table.createUser'), prop: 'createUser', slot: 'createUser', width: 130 },
|
||||||
|
|
|
@ -6,17 +6,17 @@ export const columns: TableColumnList = [
|
||||||
{ type: 'selection', align: 'left' },
|
{ type: 'selection', align: 'left' },
|
||||||
{ type: 'index', index: (index: number) => index + 1, label: '序号', width: 60 },
|
{ type: 'index', index: (index: number) => index + 1, label: '序号', width: 60 },
|
||||||
// 任务名称
|
// 任务名称
|
||||||
{ label: $t('quartzExecuteLog_jobName'), prop: 'jobName' },
|
{ label: $t('quartzExecuteLog_jobName'), prop: 'jobName', minWidth: 150 },
|
||||||
// 任务分组
|
// 任务分组
|
||||||
{ label: $t('quartzExecuteLog_jobGroup'), prop: 'jobGroup' },
|
{ label: $t('quartzExecuteLog_jobGroup'), prop: 'jobGroup', minWidth: 120 },
|
||||||
// 执行任务类名
|
// 执行任务类名
|
||||||
{ label: $t('quartzExecuteLog_jobClassName'), prop: 'jobClassName' },
|
{ label: $t('quartzExecuteLog_jobClassName'), prop: 'jobClassName', minWidth: 150 },
|
||||||
// 执行任务core表达式
|
// 执行任务core表达式
|
||||||
{ label: $t('quartzExecuteLog_cronExpression'), prop: 'cronExpression' },
|
{ label: $t('quartzExecuteLog_cronExpression'), prop: 'cronExpression', minWidth: 100 },
|
||||||
// 触发器名称
|
// 触发器名称
|
||||||
{ label: $t('quartzExecuteLog_triggerName'), prop: 'triggerName' },
|
{ label: $t('quartzExecuteLog_triggerName'), prop: 'triggerName', minWidth: 150 },
|
||||||
// 执行结果
|
// 执行结果
|
||||||
{ label: $t('quartzExecuteLog_executeResult'), prop: 'executeResult', width: 410, slot: 'executeResult' },
|
{ label: $t('quartzExecuteLog_executeResult'), prop: 'executeResult', minWidth: 410, slot: 'executeResult' },
|
||||||
// 执行时间
|
// 执行时间
|
||||||
{ label: $t('quartzExecuteLog_duration'), prop: 'duration' },
|
{ label: $t('quartzExecuteLog_duration'), prop: 'duration' },
|
||||||
{ label: $t('table.updateTime'), prop: 'updateTime', sortable: true, width: 160 },
|
{ label: $t('table.updateTime'), prop: 'updateTime', sortable: true, width: 160 },
|
||||||
|
|
|
@ -4,19 +4,19 @@ import { $t } from '@/plugins/i18n';
|
||||||
// 表格列
|
// 表格列
|
||||||
export const columns: TableColumnList = [
|
export const columns: TableColumnList = [
|
||||||
{ type: 'selection', align: 'left' },
|
{ type: 'selection', align: 'left' },
|
||||||
{ type: 'index', index: (index: number) => index + 1, label: '序号', width: 60 },
|
{ type: 'index', index: (index: number) => index + 1, label: '序号', minWidth: 60 },
|
||||||
// 用户名
|
// 用户名
|
||||||
{ label: $t('userLoginLog_username'), prop: 'username', width: 180 },
|
{ label: $t('userLoginLog_username'), prop: 'username', minWidth: 180 },
|
||||||
// 登录Ip
|
// 登录Ip
|
||||||
{ label: $t('userLoginLog_ipAddress'), prop: 'ipAddress', width: 130 },
|
{ label: $t('userLoginLog_ipAddress'), prop: 'ipAddress', minWidth: 130 },
|
||||||
// 登录Ip归属地
|
// 登录Ip归属地
|
||||||
{ label: $t('userLoginLog_ipRegion'), prop: 'ipRegion', width: 160 },
|
{ label: $t('userLoginLog_ipRegion'), prop: 'ipRegion', minWidth: 160 },
|
||||||
// 登录时代理
|
// 登录时代理
|
||||||
{ label: $t('userLoginLog_userAgent'), prop: 'userAgent' },
|
{ label: $t('userLoginLog_userAgent'), prop: 'userAgent', minWidth: 200 },
|
||||||
// 操作类型
|
// 操作类型
|
||||||
{ label: $t('userLoginLog_type'), prop: 'type', width: 130 },
|
{ label: $t('userLoginLog_type'), prop: 'type', minWidth: 130 },
|
||||||
// 标识客户端是否是通过Ajax发送请求的
|
// 标识客户端是否是通过Ajax发送请求的
|
||||||
{ label: $t('userLoginLog_xRequestedWith'), prop: 'xRequestedWith', width: 150 },
|
{ label: $t('userLoginLog_xRequestedWith'), prop: 'xRequestedWith', minWidth: 150 },
|
||||||
// 登录token
|
// 登录token
|
||||||
{ label: $t('userLoginLog_token'), prop: 'token', width: 200 },
|
{ label: $t('userLoginLog_token'), prop: 'token', width: 200 },
|
||||||
{ label: $t('table.updateTime'), prop: 'updateTime', sortable: true, width: 160 },
|
{ label: $t('table.updateTime'), prop: 'updateTime', sortable: true, width: 160 },
|
||||||
|
|
Loading…
Reference in New Issue