@@ -0,0 +1,169 @@ | |||
import { ref } from "vue"; | |||
import { IsPermission } from "@/router/routerUtil"; | |||
// crud表格配置 | |||
export default function crudConfig(route) { | |||
const form = { | |||
formLabelWidth: "100px", | |||
width: "50%", | |||
type: "input", | |||
}; | |||
const field = ref({ | |||
tabSize: "small", //Table 的尺寸 large / default /small (默认default) | |||
searchShow: true, //是否显示搜索模块(默认false) | |||
border: true, //是否添加边框(默认false) | |||
dialogCustom: true, //自定义Dialog (默认false) | |||
dialogFooter: true, //隐藏弹窗页脚显示 (默认false) | |||
dialogWidth: "50%", //dialog宽度 (默认40%) | |||
crudChildShow: true, //是否显示CURD子操作栏 (默认true) | |||
paginStart: true, //是否显示分页查询 (默认false) | |||
isPageSizes: true, | |||
pageLayout: "total, sizes, prev, pager, next", | |||
titleDialog: "", //table 标题 | |||
paging: { | |||
pageSize: 10, | |||
currentPage: 1, | |||
total: 0, | |||
allAmountSum: 0, //总合计金额 | |||
outAmountSum: 0, //多省总金额 | |||
inpAmountSum: 0, //省内总金额 | |||
allCountSum: 0, //总交易笔总数 | |||
outCountSum: 0, //多省笔总数 | |||
inpCountSum: 0, //省内笔总数 | |||
}, | |||
crudShow: true, //是否显示CURD操作栏 (默认true) | |||
crud: { | |||
//配合crudShow,为true是可配置此 | |||
add: false, | |||
edit: false, | |||
delete: false, | |||
derive: false, //导出 | |||
search: false, | |||
refresh: false, | |||
cudText: [ | |||
{ | |||
label: "总合计金额:", | |||
key: "allAmountSum", | |||
isAmount: true, | |||
}, | |||
{ | |||
label: "多省总金额:", | |||
key: "outAmountSum", | |||
isAmount: true, | |||
}, | |||
{ | |||
label: "省内总金额:", | |||
key: "inpAmountSum", | |||
isAmount: true, | |||
}, | |||
{ | |||
label: "总交易笔总数:", | |||
key: "allCountSum", | |||
unit: "", | |||
}, | |||
{ | |||
label: "多省笔总数:", | |||
key: "outCountSum", | |||
unit: "", | |||
}, | |||
{ | |||
label: "省内笔总数:", | |||
key: "inpCountSum", | |||
unit: "", | |||
}, | |||
], | |||
}, | |||
searchOperation: { | |||
isInitiateApproval: IsPermission(route, "INITIATE_APPROVAL"), //发起审批 | |||
initiateApprovalData: { | |||
key: "mobile_payment", | |||
processName: "移动支付省内消费资金结算表", | |||
reqFileName: "SETTLE_MOBILEPAYMENT_DAYIMPORT", | |||
isToLead: true, | |||
}, | |||
isDownload: IsPermission(route, "DERIVE_BASE"), //开启下载 | |||
isAdd: false, | |||
isTransferMachine: false, | |||
isTemplate: IsPermission(route, "BATCH_LEAD"), | |||
// templateUrl: | |||
// import.meta.env.VITE_APP_UPLOAD_URL + | |||
// "sett-minio/template/业务管理/移动支付/移动支付省内消费资金结算表-xin.xlsx", | |||
templateFileName: "移动支付省内消费资金结算表导入模板", | |||
isToLead: IsPermission(route, "BATCH_LEAD"), //导入 | |||
minioBucket: { bucket: "sett-minio" }, //指定桶为sett-minio | |||
}, | |||
tableSize: -1, | |||
operateShow: true, //是否为表格添加操作栏(默认true) | |||
operateTitle: "操作", //操作栏标题(默认为"") | |||
operateFixed: false, //操作栏是否固定(默认false) | |||
operateWidth: "100", //操作栏宽度 | |||
operate: { | |||
edit: false, //是否编辑(默认true) | |||
delete: false, //是否删除(默认true) | |||
announcement: false, // 公告 | |||
remark: false, // 查看 | |||
info: IsPermission(route, "INFO_LIST"), //详情 | |||
forbidden: false, // 禁用 | |||
enable: false, // 启用 | |||
authorization: false, // 授权 | |||
cancel: false, // 取消订单 | |||
writeOff: false, // 注销 | |||
make: false, // 补缴 | |||
}, | |||
extend: [ | |||
{ | |||
type: "index", | |||
label: "序号", | |||
}, | |||
], | |||
field: [ | |||
{ | |||
prop: "clearDate", | |||
label: "清分日期", | |||
width: "170px", | |||
form, | |||
}, | |||
{ | |||
label: "总交易笔", | |||
prop: "allCount", | |||
form, | |||
}, | |||
{ | |||
label: "总金额(元)", | |||
prop: "allAmount", | |||
isAmount: true, | |||
form, | |||
}, | |||
{ | |||
label: "多省笔数", | |||
prop: "outCount", | |||
form, | |||
}, | |||
{ | |||
label: "多省金额(元)", | |||
prop: "outAmount", | |||
isAmount: true, | |||
form, | |||
}, | |||
{ | |||
label: "省内笔数", | |||
prop: "inpCount", | |||
form, | |||
}, | |||
{ | |||
label: "省内金额(元)", | |||
prop: "inpAmount", | |||
isAmount: true, | |||
form, | |||
}, | |||
{ | |||
label: "上传时间", | |||
prop: "insertTime", | |||
hide: true, | |||
form, | |||
}, | |||
], | |||
}); | |||
return { | |||
field, | |||
}; | |||
} |
@@ -0,0 +1,173 @@ | |||
<template> | |||
<div> | |||
<crud-template class="as-weight" :ref="(el) => (crudRef = el)" :home-data="field" @btnSearch="btnSearch" | |||
@refreshLeft="refreshLeft" :tableData="tableData" @CurrentChange="handleCurrentChange" @importData="handleSuccess" | |||
@pageSizeChange="(val) => { | |||
field.paging.currentPage = 1 | |||
field.paging.pageSize = val | |||
getList() | |||
} | |||
"> | |||
<template #search> | |||
<div class="date-label">清分日期:</div> | |||
<el-date-picker unlink-panels v-model="timeValue" type="daterange" range-separator="到" | |||
start-placeholder="清分开始日期" end-placeholder="清分结束日期" value-format="YYYY-MM-DD" format="YYYY-MM-DD" | |||
@change="dateChangeHandle" :default-time="defaultTime" /> | |||
</template> | |||
</crud-template> | |||
</div> | |||
</template> | |||
<!-- 移动支付省内消费资金结算表 --> | |||
<script lang="ts" setup> | |||
// @ts-ignore crudFrom模板 | |||
import CrudTemplate from '@/crud/index.vue' | |||
import { ref, onMounted } from 'vue' | |||
import { ElMessage } from 'element-plus' | |||
// 请求函数 | |||
import BaseService from '@/utils/baseService' | |||
//crud配置 | |||
import crudConfig from './crudConfig' | |||
import { IsPermission } from '@/router/routerUtil' | |||
import { useRoute } from 'vue-router' | |||
const route = useRoute() | |||
// 拿到配置 | |||
const { field } = crudConfig(route) | |||
const defaultTime: any = getDefaultTime('day', 1, 'YYYY-MM-DD') | |||
console.log(defaultTime) | |||
const timeValue = ref(defaultTime) // 筛选时间 | |||
function dateChangeHandle(val) { | |||
if (val) { | |||
searchForm.value.startClearDate = val[0] | |||
searchForm.value.endClearDate = val[1] | |||
} else { | |||
searchForm.value.startClearDate = '' | |||
searchForm.value.endClearDate = '' | |||
} | |||
} | |||
//整个crud虚拟dom | |||
const crudRef = ref() | |||
// 获取数据,查询条件 | |||
const searchForm = ref({ | |||
startClearDate: defaultTime[0], //开始时间 | |||
endClearDate: defaultTime[1], //结束时间 | |||
}) | |||
const tableData = ref([]) | |||
// 搜索按钮 | |||
function btnSearch() { | |||
field.value.paging.currentPage = 1 | |||
getList() | |||
getTotalSum() | |||
} | |||
// 搜索重置 | |||
function refreshLeft() { | |||
field.value.paging.currentPage = 1 | |||
searchForm.value = { | |||
startClearDate: defaultTime[0], //开始时间 | |||
endClearDate: defaultTime[1], //结束时间 | |||
} | |||
tableData.value = [] | |||
timeValue.value = defaultTime | |||
getList() | |||
} | |||
// 处理请求参数 | |||
const handleParams = () => { | |||
let params: any = { | |||
pageNo: field.value.paging.currentPage, | |||
pageSize: field.value.paging.pageSize, | |||
...searchForm.value, | |||
} | |||
return params | |||
} | |||
onMounted(() => { | |||
getList() | |||
getTotalSum() | |||
}) | |||
// 获取数据 | |||
function getList(isInfo = false) { | |||
const params = handleParams() | |||
if (!params.startClearDate || !params.endClearDate) { | |||
if (!isInfo) { | |||
ElMessage.error('请选择统计开始时间和结束时间') | |||
} | |||
return | |||
} | |||
crudRef.value.tableLoding = true //表格loading效果 | |||
BaseService.postN('/settlew/mobilepay/statement/page', params).then( | |||
(res: any) => { | |||
crudRef.value.tableLoding = false | |||
if (res && res.code === 0) { | |||
let bizContent = res.data | |||
let data = bizContent.result || [] | |||
tableData.value = data | |||
field.value.paging.total = bizContent.totalCount | |||
} else { | |||
ElMessage.error(res.message) | |||
} | |||
} | |||
) | |||
} | |||
// 获取数据 | |||
function getTotalSum(isInfo = false) { | |||
const params = handleParams() | |||
if (!params.startClearDate || !params.endClearDate) { | |||
if (!isInfo) { | |||
ElMessage.error('请选择统计开始时间和结束时间') | |||
} | |||
return | |||
} | |||
// crudRef.value.tableLoding = true //表格loading效果 | |||
BaseService.postN('/settlew/mobilepay/statement/queryStatementNoticeSum', params).then( | |||
(res: any) => { | |||
// crudRef.value.tableLoding = false | |||
if (res && res.code === 0) { | |||
let bizContent = res.data | |||
field.value.paging.allAmountSum = bizContent.allAmount | |||
field.value.paging.outAmountSum = bizContent.outAmount | |||
field.value.paging.inpAmountSum = bizContent.inpAmount | |||
field.value.paging.allCountSum = bizContent.allCount | |||
field.value.paging.outCountSum = bizContent.outCount | |||
field.value.paging.inpCountSum = bizContent.inpCount | |||
} else { | |||
ElMessage.error(res.message) | |||
} | |||
} | |||
) | |||
} | |||
// 处理当前页数 | |||
function handleCurrentChange(val: number) { | |||
field.value.paging.currentPage = val | |||
getList() | |||
} | |||
/***********上传下载**************/ | |||
import { | |||
importFn, | |||
reportExportFn, | |||
getDefaultTime, | |||
} from '@/views/settlement/exportFn' | |||
// 文件上传到minio后触发 | |||
const handleSuccess = (url: any, reportFileName: any) => { | |||
importFn( | |||
'/settlew/treatment/dayimport', | |||
() => { | |||
getList(true) | |||
}, | |||
{ | |||
url, | |||
reportFileName, | |||
} | |||
) | |||
} | |||
</script> | |||
<style scoped lang="less"> | |||
.upload-btn { | |||
margin: 20px 0 0 20px; | |||
} | |||
</style> |
@@ -0,0 +1,145 @@ | |||
import { ref } from "vue"; | |||
import { IsPermission } from "@/router/routerUtil"; | |||
// crud表格配置 | |||
export default function crudConfig(route) { | |||
const form = { | |||
formLabelWidth: "130px", | |||
width: "50%", | |||
type: "input", | |||
}; | |||
const field = ref({ | |||
tabSize: "small", //Table 的尺寸 large / default /small (默认default) | |||
searchShow: true, //是否显示搜索模块(默认false) | |||
border: true, //是否添加边框(默认false) | |||
dialogCustom: true, //自定义Dialog (默认false) | |||
dialogFooter: true, //隐藏弹窗页脚显示 (默认false) | |||
dialogWidth: "50%", //dialog宽度 (默认40%) | |||
crudChildShow: true, //是否显示CURD子操作栏 (默认true) | |||
paginStart: true, //是否显示分页查询 (默认false) | |||
isPageSizes: true, | |||
pageLayout: "total, sizes, prev, pager, next", | |||
titleDialog: "", //table 标题 | |||
paging: { | |||
pageSize: 10, | |||
currentPage: 1, | |||
total: 0, | |||
entryAmountSum: 0, | |||
settNoticeAmountSum: 0, | |||
}, | |||
crudShow: true, //是否显示CURD操作栏 (默认true) | |||
crud: { | |||
//配合crudShow,为true是可配置此 | |||
add: false, | |||
edit: false, | |||
delete: false, | |||
derive: false, //导出 | |||
search: false, | |||
refresh: false, | |||
cudText: [ | |||
{ | |||
label: "入账总金额:", | |||
key: "entryAmountSum", | |||
isAmount: true, | |||
}, | |||
{ | |||
label: "省内结算通知书金额:", | |||
key: "inpNoticeAmountSum", | |||
isAmount: true, | |||
}, | |||
{ | |||
label: "省外结算通知书金额:", | |||
key: "outNoticeAmountSum", | |||
isAmount: true, | |||
}, | |||
{ | |||
label: "差额:", | |||
key: "diffSum", | |||
isAmount: true, | |||
}, | |||
], | |||
}, | |||
searchOperation: { | |||
isInitiateApproval: IsPermission(route, "INITIATE_APPROVAL"), //发起审批 | |||
initiateApprovalData: { | |||
key: "mobile_payment", | |||
processName: "移动支付总表对比表", | |||
// reqFileName: 'SETTLE_MOBILEPAYMENT_CONTRASTIMPORT', | |||
}, | |||
isDownload: false, //开启下载 | |||
isAdd: false, | |||
isTransferMachine: false, | |||
isTemplate: IsPermission(route, "BATCH_LEAD"), | |||
templateUrl: | |||
import.meta.env.VITE_APP_UPLOAD_URL + | |||
"sett-minio/template/业务管理/移动支付/移动支付总表对比表-xin.xlsx", | |||
templateFileName: "移动支付总表对比表导入模板", | |||
isToLead: IsPermission(route, "BATCH_LEAD"), //导入 | |||
minioBucket: { bucket: "sett-minio" }, //指定桶为sett-minio | |||
}, | |||
tableSize: -1, | |||
operateShow: true, //是否为表格添加操作栏(默认true) | |||
operateTitle: "操作", //操作栏标题(默认为"") | |||
operateFixed: false, //操作栏是否固定(默认false) | |||
operateWidth: "100", //操作栏宽度 | |||
operate: { | |||
edit: false, //是否编辑(默认true) | |||
delete: false, //是否删除(默认true) | |||
announcement: false, // 公告 | |||
remark: false, // 查看 | |||
info: IsPermission(route, "INFO_LIST"), //详情 | |||
forbidden: false, // 禁用 | |||
enable: false, // 启用 | |||
authorization: false, // 授权 | |||
cancel: false, // 取消订单 | |||
writeOff: false, // 注销 | |||
make: false, // 补缴 | |||
}, | |||
extend: [ | |||
{ | |||
type: "index", | |||
label: "序号", | |||
}, | |||
], | |||
field: [ | |||
{ | |||
prop: "clearDate", | |||
label: "日期", | |||
width: "170px", | |||
form, | |||
}, | |||
{ | |||
label: "入账金额(元)", | |||
prop: "entryAmount", | |||
isAmount: true, | |||
form, | |||
}, | |||
{ | |||
label: "省内结算通知书金额(元)", | |||
prop: "inpNoticeAmount", | |||
isAmount: true, | |||
form, | |||
}, | |||
{ | |||
label: "省外结算通知书金额(元)", | |||
prop: "outNoticeAmount", | |||
isAmount: true, | |||
form, | |||
}, | |||
{ | |||
label: "差额", | |||
prop: "diff", | |||
isAmount: true, | |||
form, | |||
}, | |||
{ | |||
label: "上传时间", | |||
prop: "insertTime", | |||
hide: true, | |||
form, | |||
}, | |||
], | |||
}); | |||
return { | |||
field, | |||
}; | |||
} |
@@ -0,0 +1,162 @@ | |||
<template> | |||
<div> | |||
<crud-template class="as-weight" :ref="(el) => (crudRef = el)" :home-data="field" @btnSearch="btnSearch" | |||
@refreshLeft="refreshLeft" :tableData="tableData" @CurrentChange="handleCurrentChange" @importData="handleSuccess" | |||
@pageSizeChange="(val) => { | |||
field.paging.currentPage = 1 | |||
field.paging.pageSize = val | |||
getList() | |||
} | |||
"> | |||
<template #search> | |||
<div class="date-label">日期:</div> | |||
<el-date-picker unlink-panels v-model="timeValue" type="daterange" range-separator="到" start-placeholder="开始日期" | |||
end-placeholder="结束日期" value-format="YYYY-MM-DD" format="YYYY-MM-DD" @change="dateChangeHandle" | |||
:default-time="defaultTime" /> | |||
</template> | |||
</crud-template> | |||
</div> | |||
</template> | |||
<!-- 移动支付总对比表 --> | |||
<script lang="ts" setup> | |||
// @ts-ignore crudFrom模板 | |||
import CrudTemplate from '@/crud/index.vue' | |||
import { ref } from 'vue' | |||
import { ElMessage } from 'element-plus' | |||
// 请求函数 | |||
import BaseService from '@/utils/baseService' | |||
//crud配置 | |||
import crudConfig from './crudConfig' | |||
import { IsPermission } from '@/router/routerUtil' | |||
import { useRoute } from 'vue-router' | |||
const route = useRoute() | |||
// 拿到配置 | |||
const { field } = crudConfig(route) | |||
const defaultTime: any = getDefaultTime('day', 1, 'YYYY-MM-DD') | |||
console.log(defaultTime) | |||
const timeValue = ref(defaultTime) // 筛选时间 | |||
function dateChangeHandle(val) { | |||
if (val) { | |||
searchForm.value.startClearDate = val[0] | |||
searchForm.value.endClearDate = val[1] | |||
} else { | |||
searchForm.value.startClearDate = '' | |||
searchForm.value.endClearDate = '' | |||
} | |||
} | |||
//整个crud虚拟dom | |||
const crudRef = ref() | |||
// 获取数据,查询条件 | |||
const searchForm = ref({ | |||
startClearDate: defaultTime[0], //开始时间 | |||
endClearDate: defaultTime[1], //结束时间 | |||
}) | |||
const tableData = ref([]) | |||
// 搜索按钮 | |||
function btnSearch() { | |||
field.value.paging.currentPage = 1 | |||
getList() | |||
} | |||
// 搜索重置 | |||
function refreshLeft() { | |||
field.value.paging.currentPage = 1 | |||
searchForm.value = { | |||
startClearDate: defaultTime[0], //开始时间 | |||
endClearDate: defaultTime[1], //结束时间 | |||
} | |||
tableData.value = [] | |||
timeValue.value = defaultTime | |||
getList() | |||
} | |||
// 处理请求参数 | |||
const handleParams = () => { | |||
let params: any = { | |||
pageNo: field.value.paging.currentPage, | |||
pageSize: field.value.paging.pageSize, | |||
...searchForm.value, | |||
} | |||
return params | |||
} | |||
// 获取数据 | |||
function getList(isInfo = false) { | |||
const params = handleParams() | |||
if (!params.startClearDate || !params.endClearDate) { | |||
if (!isInfo) { | |||
ElMessage.error('请选择统计开始时间和结束时间') | |||
} | |||
return | |||
} | |||
crudRef.value.tableLoding = true //表格loading效果 | |||
BaseService.postN('/settlew/mobilepay/comparison/page', params).then( | |||
(res: any) => { | |||
crudRef.value.tableLoding = false | |||
if (res && res.code === 0) { | |||
let bizContent = res.data | |||
let data = bizContent.result || [] | |||
tableData.value = data | |||
field.value.paging.total = bizContent.totalCount | |||
} else { | |||
ElMessage.error(res.message) | |||
} | |||
} | |||
) | |||
} | |||
// 获取数据 | |||
function getTotalSum(isInfo = false) { | |||
const params = handleParams() | |||
if (!params.startClearDate || !params.endClearDate) { | |||
if (!isInfo) { | |||
ElMessage.error('请选择统计开始时间和结束时间') | |||
} | |||
return | |||
} | |||
crudRef.value.tableLoding = true //表格loading效果 | |||
BaseService.postN('/settlew/mobilepay/comparison/queryComparisonSum', params).then( | |||
(res: any) => { | |||
if (res && res.code === 0) { | |||
let bizContent = res.data | |||
field.value.paging.entryAmountSum = bizContent.entryAmount | |||
field.value.paging.inpNoticeAmountSum = bizContent.inpNoticeAmount | |||
field.value.paging.outNoticeAmountSum = bizContent.outNoticeAmount | |||
field.value.paging.diffSum = bizContent.diff | |||
} else { | |||
ElMessage.error(res.message) | |||
} | |||
} | |||
) | |||
} | |||
// 处理当前页数 | |||
function handleCurrentChange(val: number) { | |||
field.value.paging.currentPage = val | |||
getList() | |||
} | |||
/***********上传下载**************/ | |||
import { importFn, getDefaultTime } from '@/views/settlement/exportFn' | |||
// 文件上传到minio后触发 | |||
const handleSuccess = (url: any, reportFileName: any) => { | |||
importFn( | |||
'/settlew/treatment/contrastimport', | |||
() => { | |||
getList(true) | |||
}, | |||
{ | |||
url, | |||
reportFileName, | |||
} | |||
) | |||
} | |||
</script> | |||
<style scoped lang="less"> | |||
.upload-btn { | |||
margin: 20px 0 0 20px; | |||
} | |||
</style> |