基本配置修改 优化
This commit is contained in:
parent
ae396e22df
commit
540a487d2d
|
|
@ -2,24 +2,21 @@
|
||||||
<div class="app-container">
|
<div class="app-container">
|
||||||
<!-- 查询条件 -->
|
<!-- 查询条件 -->
|
||||||
<el-form :inline="true" :model="queryParams" class="demo-form-inline" style="display: flex; align-items: center; flex-wrap: wrap;">
|
<el-form :inline="true" :model="queryParams" class="demo-form-inline" style="display: flex; align-items: center; flex-wrap: wrap;">
|
||||||
<el-form-item label="支付开始时间">
|
<el-form-item label="日期时间">
|
||||||
<el-date-picker
|
<el-date-picker
|
||||||
v-model="queryParams.startPayTime"
|
v-model="dateRange"
|
||||||
type="datetime"
|
type="daterange"
|
||||||
placeholder="选择开始时间"
|
align="right"
|
||||||
value-format="yyyy-MM-dd HH:mm:ss"
|
unlink-panels
|
||||||
clearable
|
range-separator="至"
|
||||||
/>
|
start-placeholder="开始日期"
|
||||||
</el-form-item>
|
end-placeholder="结束日期"
|
||||||
<el-form-item label="支付结束时间">
|
format="yyyy-MM-dd"
|
||||||
<el-date-picker
|
style="width: 340px"
|
||||||
v-model="queryParams.endPayTime"
|
:default-time="['00:00:00', '23:59:59']"
|
||||||
type="datetime"
|
:picker-options="pickerOptions"
|
||||||
placeholder="选择结束时间"
|
></el-date-picker>
|
||||||
value-format="yyyy-MM-dd HH:mm:ss"
|
<el-button type="primary" @click="handleQuery" style="margin-left: 8px;">查询</el-button>
|
||||||
clearable
|
|
||||||
/>
|
|
||||||
<el-button type="primary" @click="handleQuery">查询</el-button>
|
|
||||||
<el-button type="success" @click="exportExcel" style="margin-left: 8px;">导出</el-button>
|
<el-button type="success" @click="exportExcel" style="margin-left: 8px;">导出</el-button>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<!-- 查询按钮和合计在同一行 -->
|
<!-- 查询按钮和合计在同一行 -->
|
||||||
|
|
@ -208,19 +205,12 @@ import { saveAs } from "file-saver";
|
||||||
export default {
|
export default {
|
||||||
name: "CanteenRecord",
|
name: "CanteenRecord",
|
||||||
data() {
|
data() {
|
||||||
const today = new Date();
|
|
||||||
const startOfDay = `${today.getFullYear()}-${String(today.getMonth() + 1).padStart(2, "0")}-${String(
|
|
||||||
today.getDate()
|
|
||||||
).padStart(2, "0")} 00:00:00`;
|
|
||||||
const endOfDay = `${today.getFullYear()}-${String(today.getMonth() + 1).padStart(2, "0")}-${String(
|
|
||||||
today.getDate()
|
|
||||||
).padStart(2, "0")} 23:59:59`;
|
|
||||||
return {
|
return {
|
||||||
queryParams: {
|
queryParams: {
|
||||||
pageNum: 1,
|
pageNum: 1,
|
||||||
pageSize: 10,
|
pageSize: 10,
|
||||||
startPayTime: startOfDay,
|
startPayTime: '',
|
||||||
endPayTime: endOfDay,
|
endPayTime: '',
|
||||||
orgId: null,
|
orgId: null,
|
||||||
},
|
},
|
||||||
detailType: "",
|
detailType: "",
|
||||||
|
|
@ -237,9 +227,33 @@ export default {
|
||||||
pageNum: 1,
|
pageNum: 1,
|
||||||
pageSize: 20,
|
pageSize: 20,
|
||||||
},
|
},
|
||||||
|
dateRange: [],
|
||||||
|
pickerOptions: {
|
||||||
|
shortcuts: [
|
||||||
|
{
|
||||||
|
text: '最近一周',
|
||||||
|
onClick(picker) {
|
||||||
|
const end = new Date();
|
||||||
|
const start = new Date();
|
||||||
|
start.setTime(start.getTime() - 3600 * 1000 * 24 * 7);
|
||||||
|
picker.$emit('pick', [start, end]);
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
text: '最近一个月',
|
||||||
|
onClick(picker) {
|
||||||
|
const end = new Date();
|
||||||
|
const start = new Date();
|
||||||
|
start.setTime(start.getTime() - 3600 * 1000 * 24 * 30);
|
||||||
|
picker.$emit('pick', [start, end]);
|
||||||
|
}
|
||||||
|
},
|
||||||
|
]
|
||||||
|
},
|
||||||
};
|
};
|
||||||
},
|
},
|
||||||
created() {
|
created() {
|
||||||
|
this.dateRange = this.defaultDateRange();
|
||||||
this.getList();
|
this.getList();
|
||||||
},
|
},
|
||||||
computed: {
|
computed: {
|
||||||
|
|
@ -264,6 +278,13 @@ export default {
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
methods: {
|
methods: {
|
||||||
|
// 默认日期范围:当天
|
||||||
|
defaultDateRange() {
|
||||||
|
const today = new Date();
|
||||||
|
const start = new Date(today.getFullYear(), today.getMonth(), today.getDate());
|
||||||
|
const end = new Date(today.getFullYear(), today.getMonth(), today.getDate());
|
||||||
|
return [start, end];
|
||||||
|
},
|
||||||
exportExcel() {
|
exportExcel() {
|
||||||
if (!this.tableData || this.tableData.length === 0) {
|
if (!this.tableData || this.tableData.length === 0) {
|
||||||
this.$message.warning("暂无数据可导出");
|
this.$message.warning("暂无数据可导出");
|
||||||
|
|
@ -462,25 +483,37 @@ export default {
|
||||||
/** 查询主表 */
|
/** 查询主表 */
|
||||||
getList() {
|
getList() {
|
||||||
this.loading = true; // 开启加载
|
this.loading = true; // 开启加载
|
||||||
|
|
||||||
|
// 处理日期范围
|
||||||
|
let startTime = '';
|
||||||
|
let endTime = '';
|
||||||
|
|
||||||
|
if (this.dateRange && this.dateRange.length === 2) {
|
||||||
|
const start = new Date(this.dateRange[0]);
|
||||||
|
const end = new Date(this.dateRange[1]);
|
||||||
|
startTime = `${start.getFullYear()}-${String(start.getMonth() + 1).padStart(2, "0")}-${String(
|
||||||
|
start.getDate()
|
||||||
|
).padStart(2, "0")} 00:00:00`;
|
||||||
|
endTime = `${end.getFullYear()}-${String(end.getMonth() + 1).padStart(2, "0")}-${String(
|
||||||
|
end.getDate()
|
||||||
|
).padStart(2, "0")} 23:59:59`;
|
||||||
|
}
|
||||||
|
|
||||||
|
this.queryParams.startPayTime = startTime;
|
||||||
|
this.queryParams.endPayTime = endTime;
|
||||||
|
|
||||||
listCanteenRecord(this.queryParams).then((res) => {
|
listCanteenRecord(this.queryParams).then((res) => {
|
||||||
this.tableData = res|| [];
|
this.tableData = res|| [];
|
||||||
this.loading = false;
|
this.loading = false;
|
||||||
});
|
});
|
||||||
},
|
},
|
||||||
handleQuery() {
|
handleQuery() {
|
||||||
if (
|
|
||||||
this.queryParams.startPayTime &&
|
|
||||||
this.queryParams.endPayTime &&
|
|
||||||
this.queryParams.endPayTime < this.queryParams.startPayTime
|
|
||||||
) {
|
|
||||||
this.$message.error("结束时间不能早于开始时间");
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
this.queryParams.pageNum = 1;
|
this.queryParams.pageNum = 1;
|
||||||
this.getList();
|
this.getList();
|
||||||
},
|
},
|
||||||
resetQuery() {
|
resetQuery() {
|
||||||
this.queryParams = { pageNum: 1, pageSize: 10, startPayTime: null, endPayTime: null, orgId: null };
|
this.queryParams = { pageNum: 1, pageSize: 10, startPayTime: '', endPayTime: '', orgId: null };
|
||||||
|
this.dateRange = this.defaultDateRange();
|
||||||
this.getList();
|
this.getList();
|
||||||
},
|
},
|
||||||
/** 查看详情 */
|
/** 查看详情 */
|
||||||
|
|
@ -522,13 +555,28 @@ export default {
|
||||||
},
|
},
|
||||||
/** 获取详情分页数据 */
|
/** 获取详情分页数据 */
|
||||||
getDetailList(status) {
|
getDetailList(status) {
|
||||||
|
// 处理日期范围
|
||||||
|
let startTime = '';
|
||||||
|
let endTime = '';
|
||||||
|
|
||||||
|
if (this.dateRange && this.dateRange.length === 2) {
|
||||||
|
const start = new Date(this.dateRange[0]);
|
||||||
|
const end = new Date(this.dateRange[1]);
|
||||||
|
startTime = `${start.getFullYear()}-${String(start.getMonth() + 1).padStart(2, "0")}-${String(
|
||||||
|
start.getDate()
|
||||||
|
).padStart(2, "0")} 00:00:00`;
|
||||||
|
endTime = `${end.getFullYear()}-${String(end.getMonth() + 1).padStart(2, "0")}-${String(
|
||||||
|
end.getDate()
|
||||||
|
).padStart(2, "0")} 23:59:59`;
|
||||||
|
}
|
||||||
|
|
||||||
const params = {
|
const params = {
|
||||||
conSource: status,
|
conSource: status,
|
||||||
orgName: this.detail.orgName,
|
orgName: this.detail.orgName,
|
||||||
pageNum: this.detailParams.pageNum,
|
pageNum: this.detailParams.pageNum,
|
||||||
pageSize: this.detailParams.pageSize,
|
pageSize: this.detailParams.pageSize,
|
||||||
startPayTime: this.queryParams.startPayTime,
|
startPayTime: startTime,
|
||||||
endPayTime: this.queryParams.endPayTime,
|
endPayTime: endTime,
|
||||||
};
|
};
|
||||||
getDetailList(params).then((res) => {
|
getDetailList(params).then((res) => {
|
||||||
this.detailData = res || [];
|
this.detailData = res || [];
|
||||||
|
|
|
||||||
|
|
@ -28,23 +28,20 @@
|
||||||
<el-form-item label="用户姓名">
|
<el-form-item label="用户姓名">
|
||||||
<el-input v-model="queryParams.custName" placeholder="请输入用户姓名" clearable />
|
<el-input v-model="queryParams.custName" placeholder="请输入用户姓名" clearable />
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item label="支付开始时间">
|
<el-form-item label="日期时间">
|
||||||
<el-date-picker
|
<el-date-picker
|
||||||
v-model="queryParams.startPayTime"
|
v-model="dateRange"
|
||||||
type="datetime"
|
type="daterange"
|
||||||
placeholder="选择开始时间"
|
align="right"
|
||||||
value-format="yyyy-MM-dd HH:mm:ss"
|
unlink-panels
|
||||||
clearable
|
range-separator="至"
|
||||||
/>
|
start-placeholder="开始日期"
|
||||||
</el-form-item>
|
end-placeholder="结束日期"
|
||||||
<el-form-item label="支付结束时间">
|
format="yyyy-MM-dd"
|
||||||
<el-date-picker
|
style="width: 340px"
|
||||||
v-model="queryParams.endPayTime"
|
:default-time="['00:00:00', '23:59:59']"
|
||||||
type="datetime"
|
:picker-options="pickerOptions"
|
||||||
placeholder="选择结束时间"
|
></el-date-picker>
|
||||||
value-format="yyyy-MM-dd HH:mm:ss"
|
|
||||||
clearable
|
|
||||||
/>
|
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item>
|
<el-form-item>
|
||||||
<el-button type="primary" @click="handleQuery">查询</el-button>
|
<el-button type="primary" @click="handleQuery">查询</el-button>
|
||||||
|
|
@ -171,19 +168,39 @@ import ExcelJS from "exceljs";
|
||||||
import { saveAs } from "file-saver";
|
import { saveAs } from "file-saver";
|
||||||
export default {
|
export default {
|
||||||
data() {
|
data() {
|
||||||
const today = new Date();
|
|
||||||
const startOfDay = `${today.getFullYear()}-${String(today.getMonth() + 1).padStart(2, "0")}-${String(today.getDate()).padStart(2,"0")} 00:00:00`;
|
|
||||||
const endOfDay = `${today.getFullYear()}-${String(today.getMonth() + 1).padStart(2,"0")}-${String(today.getDate()).padStart(2,"0")} 23:59:59`;
|
|
||||||
return {
|
return {
|
||||||
totalConsume: 0, // 消费总额
|
totalConsume: 0, // 消费总额
|
||||||
totalRefund: 0, // 退款总额
|
totalRefund: 0, // 退款总额
|
||||||
selectedOrg: [], // 支持多选
|
selectedOrg: [], // 支持多选
|
||||||
orgOptions:[],
|
orgOptions:[],
|
||||||
|
dateRange: [],
|
||||||
|
pickerOptions: {
|
||||||
|
shortcuts: [
|
||||||
|
{
|
||||||
|
text: '最近一周',
|
||||||
|
onClick(picker) {
|
||||||
|
const end = new Date();
|
||||||
|
const start = new Date();
|
||||||
|
start.setTime(start.getTime() - 3600 * 1000 * 24 * 7);
|
||||||
|
picker.$emit('pick', [start, end]);
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
text: '最近一个月',
|
||||||
|
onClick(picker) {
|
||||||
|
const end = new Date();
|
||||||
|
const start = new Date();
|
||||||
|
start.setTime(start.getTime() - 3600 * 1000 * 24 * 30);
|
||||||
|
picker.$emit('pick', [start, end]);
|
||||||
|
}
|
||||||
|
},
|
||||||
|
]
|
||||||
|
},
|
||||||
queryParams: {
|
queryParams: {
|
||||||
pageNum: 1,
|
pageNum: 1,
|
||||||
pageSize: 10,
|
pageSize: 10,
|
||||||
startPayTime: startOfDay,
|
startPayTime: '',
|
||||||
endPayTime: endOfDay,
|
endPayTime: '',
|
||||||
orgName: "",
|
orgName: "",
|
||||||
},
|
},
|
||||||
detailVisible: false,
|
detailVisible: false,
|
||||||
|
|
@ -199,10 +216,17 @@ export default {
|
||||||
};
|
};
|
||||||
},
|
},
|
||||||
created() {
|
created() {
|
||||||
|
this.dateRange = this.defaultDateRange();
|
||||||
this.getList();
|
this.getList();
|
||||||
this.getTree();
|
this.getTree();
|
||||||
},
|
},
|
||||||
methods: {
|
methods: {
|
||||||
|
// 默认日期范围:当天
|
||||||
|
defaultDateRange() {
|
||||||
|
const end = new Date();
|
||||||
|
const start = new Date();
|
||||||
|
return [start, end];
|
||||||
|
},
|
||||||
getTree(){
|
getTree(){
|
||||||
getTree().then(res => {
|
getTree().then(res => {
|
||||||
this.orgOptions = res;
|
this.orgOptions = res;
|
||||||
|
|
@ -261,10 +285,6 @@ export default {
|
||||||
tableCellStyle() { return { textAlign: "center" }; },
|
tableCellStyle() { return { textAlign: "center" }; },
|
||||||
|
|
||||||
handleQuery() {
|
handleQuery() {
|
||||||
if(this.queryParams.startPayTime && this.queryParams.endPayTime && this.queryParams.endPayTime < this.queryParams.startPayTime){
|
|
||||||
this.$message.error("结束时间不能早于开始时间");
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
this.queryParams.pageNum = 1;
|
this.queryParams.pageNum = 1;
|
||||||
this.getList();
|
this.getList();
|
||||||
},
|
},
|
||||||
|
|
@ -281,8 +301,31 @@ export default {
|
||||||
},
|
},
|
||||||
getList() {
|
getList() {
|
||||||
this.loading = true;
|
this.loading = true;
|
||||||
// 取最后一级 orgId
|
|
||||||
this.queryParams.selectedOrg = this.getSelectedOrgIds(); // 二级或三级下的所有 id
|
// 处理日期范围
|
||||||
|
let startTime = '';
|
||||||
|
let endTime = '';
|
||||||
|
|
||||||
|
if (this.dateRange && this.dateRange.length === 2) {
|
||||||
|
const start = this.dateRange[0];
|
||||||
|
const end = this.dateRange[1];
|
||||||
|
|
||||||
|
const formatDate = d => {
|
||||||
|
const date = new Date(d);
|
||||||
|
const y = date.getFullYear();
|
||||||
|
const m = String(date.getMonth() + 1).padStart(2, '0');
|
||||||
|
const day = String(date.getDate()).padStart(2, '0');
|
||||||
|
return `${y}-${m}-${day}`;
|
||||||
|
};
|
||||||
|
|
||||||
|
startTime = formatDate(start) + ' 00:00:00';
|
||||||
|
endTime = formatDate(end) + ' 23:59:59';
|
||||||
|
}
|
||||||
|
|
||||||
|
// 取最后一级 orgId
|
||||||
|
this.queryParams.selectedOrg = this.getSelectedOrgIds(); // 二级或三级下的所有 id
|
||||||
|
this.queryParams.startPayTime = startTime;
|
||||||
|
this.queryParams.endPayTime = endTime;
|
||||||
// queryParams.orgPath = this.selectedOrg.join(',');
|
// queryParams.orgPath = this.selectedOrg.join(',');
|
||||||
peoplelistRecord(this.queryParams).then(res => {
|
peoplelistRecord(this.queryParams).then(res => {
|
||||||
this.tableData = res.rows || [];
|
this.tableData = res.rows || [];
|
||||||
|
|
@ -296,8 +339,30 @@ export default {
|
||||||
// 获取选中的组织 ID
|
// 获取选中的组织 ID
|
||||||
this.queryParams.selectedOrg = this.getSelectedOrgIds();
|
this.queryParams.selectedOrg = this.getSelectedOrgIds();
|
||||||
|
|
||||||
|
// 处理日期范围
|
||||||
|
let startTime = '';
|
||||||
|
let endTime = '';
|
||||||
|
|
||||||
|
if (this.dateRange && this.dateRange.length === 2) {
|
||||||
|
const start = this.dateRange[0];
|
||||||
|
const end = this.dateRange[1];
|
||||||
|
|
||||||
|
const formatDate = d => {
|
||||||
|
const date = new Date(d);
|
||||||
|
const y = date.getFullYear();
|
||||||
|
const m = String(date.getMonth() + 1).padStart(2, '0');
|
||||||
|
const day = String(date.getDate()).padStart(2, '0');
|
||||||
|
return `${y}-${m}-${day}`;
|
||||||
|
};
|
||||||
|
|
||||||
|
startTime = formatDate(start) + ' 00:00:00';
|
||||||
|
endTime = formatDate(end) + ' 23:59:59';
|
||||||
|
}
|
||||||
|
|
||||||
// 克隆参数,单独对中文参数进行 encodeURIComponent
|
// 克隆参数,单独对中文参数进行 encodeURIComponent
|
||||||
const params = { ...this.queryParams };
|
const params = { ...this.queryParams };
|
||||||
|
params.startPayTime = startTime;
|
||||||
|
params.endPayTime = endTime;
|
||||||
if (params.custName) {
|
if (params.custName) {
|
||||||
params.custName = encodeURIComponent(params.custName); // 中文名编码
|
params.custName = encodeURIComponent(params.custName); // 中文名编码
|
||||||
}
|
}
|
||||||
|
|
@ -317,12 +382,32 @@ export default {
|
||||||
},
|
},
|
||||||
|
|
||||||
getDetailList() {
|
getDetailList() {
|
||||||
|
// 处理日期范围
|
||||||
|
let startTime = '';
|
||||||
|
let endTime = '';
|
||||||
|
|
||||||
|
if (this.dateRange && this.dateRange.length === 2) {
|
||||||
|
const start = this.dateRange[0];
|
||||||
|
const end = this.dateRange[1];
|
||||||
|
|
||||||
|
const formatDate = d => {
|
||||||
|
const date = new Date(d);
|
||||||
|
const y = date.getFullYear();
|
||||||
|
const m = String(date.getMonth() + 1).padStart(2, '0');
|
||||||
|
const day = String(date.getDate()).padStart(2, '0');
|
||||||
|
return `${y}-${m}-${day}`;
|
||||||
|
};
|
||||||
|
|
||||||
|
startTime = formatDate(start) + ' 00:00:00';
|
||||||
|
endTime = formatDate(end) + ' 23:59:59';
|
||||||
|
}
|
||||||
|
|
||||||
const params = {
|
const params = {
|
||||||
orgName: this.detail.orgName,
|
orgName: this.detail.orgName,
|
||||||
pageNum: 1,
|
pageNum: 1,
|
||||||
pageSize: 10,
|
pageSize: 10,
|
||||||
startPayTime: this.queryParams.startPayTime,
|
startPayTime: startTime,
|
||||||
endPayTime: this.queryParams.endPayTime,
|
endPayTime: endTime,
|
||||||
};
|
};
|
||||||
getDetailList(params).then(res => {
|
getDetailList(params).then(res => {
|
||||||
this.detailData = res.list || [];
|
this.detailData = res.list || [];
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue