178 lines
4.8 KiB
Plaintext
178 lines
4.8 KiB
Plaintext
<template>
|
|
<div class="payment-history data-list">
|
|
<div class="filter-container">
|
|
<el-select v-model="type" size="small" class="mr" @change="handleTypeChange">
|
|
<el-option v-for="item in types" :key="item" :label="item" :value="item" />
|
|
</el-select>
|
|
<el-select
|
|
v-model="listQuery.Nation"
|
|
placeholder="Nation"
|
|
size="small"
|
|
style="width:120px;margin-right:5px;"
|
|
clearable
|
|
>
|
|
<el-option label="CN" value="0" />
|
|
<el-option label="US" value="1" />
|
|
</el-select>
|
|
<el-input
|
|
v-model="listQuery.Reviewer"
|
|
size="small"
|
|
placeholder="Reviewer"
|
|
clearable
|
|
class="mr"
|
|
/>
|
|
<el-date-picker
|
|
v-model="listQuery.BeginMonth"
|
|
size="small"
|
|
placeholder="Beginning Month"
|
|
value-format="yyyy-MM"
|
|
format="yyyy-MM"
|
|
type="month"
|
|
style="width:160px;margin-right:5px"
|
|
:picker-options="beginPickerOption"
|
|
:clearable="false"
|
|
/>To
|
|
<el-date-picker
|
|
v-model="listQuery.EndMonth"
|
|
size="small"
|
|
placeholder="End Month"
|
|
value-format="yyyy-MM"
|
|
format="yyyy-MM"
|
|
type="month"
|
|
style="width:160px;margin:0 5px"
|
|
:picker-options="endpickerOption"
|
|
:clearable="false"
|
|
/>
|
|
<el-button type="text" size="small" @click="handleReset">Reset</el-button>
|
|
<el-button type="primary" size="small" @click="handleSearch">Search</el-button>
|
|
<el-button
|
|
type="primary"
|
|
size="small"
|
|
:disabled="exportDisabled"
|
|
@click="handleExport"
|
|
>Export Excel</el-button>
|
|
</div>
|
|
<div class="data-table">
|
|
<payment-list
|
|
v-if="type=='Payment'"
|
|
ref="Payment"
|
|
:param="listQuery"
|
|
@selectMore="selectMore"
|
|
/>
|
|
<adjustment-list
|
|
v-if="type=='Adjustment'"
|
|
ref="Adjustment"
|
|
:param="listQuery"
|
|
@selectMore="selectMore"
|
|
/>
|
|
</div>
|
|
</div>
|
|
</template>
|
|
<script>
|
|
// eslint-disable-next-line no-unused-vars
|
|
import { FormatTime } from '@/utils/formatter'
|
|
import PaymentList from './components/PaymentList'
|
|
import AdjustmentList from './components/AdjustmentList'
|
|
import { mapGetters, mapMutations } from 'vuex'
|
|
export default {
|
|
components: { PaymentList, AdjustmentList },
|
|
data() {
|
|
return {
|
|
listQuery: {
|
|
Reviewer: '',
|
|
Nation: '',
|
|
BeginMonth: new Date(
|
|
new Date().setMonth(new Date().getMonth() - 5)
|
|
).format('yyyy-MM'),
|
|
EndMonth: new Date(new Date()).format('yyyy-MM')
|
|
},
|
|
beginPickerOption: {
|
|
disabledDate: (time) => {
|
|
if (this.listQuery.EndMonth) {
|
|
return time.getTime() > new Date(this.listQuery.EndMonth).getTime()
|
|
} else {
|
|
return time.getTime() > Date.now()
|
|
}
|
|
}
|
|
},
|
|
endpickerOption: {
|
|
disabledDate: (time) => {
|
|
if (this.listQuery.BeginMonth) {
|
|
return (
|
|
time.getTime() > Date.now() ||
|
|
time.getTime() <= new Date(this.listQuery.BeginMonth).getTime()
|
|
)
|
|
} else {
|
|
return time.getTime() > Date.now()
|
|
}
|
|
}
|
|
},
|
|
exportDisabled: true,
|
|
types: ['Payment', 'Adjustment'],
|
|
type: 'Payment'
|
|
}
|
|
},
|
|
|
|
computed: {
|
|
...mapGetters(['paymentHistoryQuery'])
|
|
},
|
|
created() {
|
|
this.paymentHistoryQuery ? (this.listQuery = this.paymentHistoryQuery) : ''
|
|
},
|
|
methods: {
|
|
handleSearch() {
|
|
this.listQuery.PageIndex = 1
|
|
|
|
this.setQueryParam(this.listQuery)
|
|
this.$refs[this.type].getList()
|
|
},
|
|
handleReset() {
|
|
this.listQuery.Reviewer = ''
|
|
this.listQuery.Nation = ''
|
|
this.listQuery.EndMonth = new Date().format('yyyy-MM')
|
|
this.listQuery.BeginMonth = new Date(
|
|
new Date().setMonth(new Date().getMonth() - 5)
|
|
).format('yyyy-MM')
|
|
|
|
this.setQueryParam(this.listQuery)
|
|
this.$refs[this.type].resetList()
|
|
},
|
|
handleTypeChange() {
|
|
this.listQuery.Reviewer = ''
|
|
},
|
|
handleExport() {
|
|
this.$refs[this.type].export()
|
|
},
|
|
selectMore(val) {
|
|
this.exportDisabled = val
|
|
},
|
|
...mapMutations({
|
|
setQueryParam: 'financials/SET_PAYMENTHISTORYQUERYPARAM'
|
|
})
|
|
}
|
|
}
|
|
</script>
|
|
<style lang="scss" scoped>
|
|
.payment-history {
|
|
height: 100%;
|
|
.filter-container {
|
|
display: flex;
|
|
align-items: center;
|
|
}
|
|
.mr {
|
|
margin-right: 5px;
|
|
width: 150px;
|
|
}
|
|
.el-table {
|
|
overflow: visible !important;
|
|
}
|
|
.el-table .cell {
|
|
white-space: nowrap;
|
|
}
|
|
.list-container {
|
|
margin-top: 10px;
|
|
height: calc(100% - 50px);
|
|
}
|
|
}
|
|
</style>
|