[FIX]nbs统计支持时间区间和所有组查询

This commit is contained in:
mengxiaolong
2020-07-23 13:35:59 +08:00
parent cee700d2bb
commit 6e79b2c122

View File

@@ -3,13 +3,19 @@
<van-sticky>
<div class="header" v-if="verifyUserType">
<div class="title">
<div class="left">
<van-button round type="info" size="mini" @click="setDateType(1)" :class="{ default: 1, checked: params.dateType === 1 }">今日</van-button>
<van-button round type="info" size="mini" @click="setDateType(2)" :class="{ default: 1, checked: params.dateType === 2 }">当月</van-button>
<div class="left-time">
<div class="right" @click="showTime = true">
<span>{{ startTimeStr ? startTimeStr : '开始日期' }}</span>
<van-icon name="calender-o" />
</div>
<div class="right" @click="showEndTime = true">
<span>{{ endTimeStr ? endTimeStr : '结束日期' }}</span>
<van-icon name="calender-o" />
</div>
</div>
<div class="right" @click="showTimeSelector">
<span>选择日期</span>
<van-icon name="calender-o" size="4.73333vw" />
<div class="right">
<van-button :type="searchType ? 'danger' : 'default'" size="mini" @click="queryTableList">查询</van-button>
<van-button :type="!searchType ? 'danger' : 'default'" size="mini" @click="setDateType">今日</van-button>
</div>
</div>
<div class="piker">
@@ -129,46 +135,48 @@
/>
</van-popup>
<van-popup v-model="showTime" position="bottom">
<van-datetime-picker
v-model="currentDate"
type="date"
title="选择年月日"
:min-date="minDate"
:max-date="maxDate"
@confirm="setDateType"
@cancel="showTimeSelector"
/>
<van-datetime-picker :min-date="minDate" v-model="startTime" type="date" title="选择开始时间" @confirm="setStartTime" @cancel="showTime = false" />
</van-popup>
<van-popup v-model="showEndTime" position="bottom">
<van-datetime-picker :min-date="minDate" v-model="endTime" type="date" title="选择结束时间" @confirm="setEndTime" @cancel="showEndTime = false" />
</van-popup>
</div>
</template>
<script>
import { Sticky, Popup, Picker, DatetimePicker } from 'vant'
import { Sticky, Popup, Picker, DatetimePicker, Tag, Button } from 'vant'
import { nbsTable, makeCustomerPDF, getRankList, getGankLevel, getTableList, exportExcel } from '@/api/ebiz/nbs'
import config from '@/config'
import dateUtil from '@/assets/js/utils/date-utils'
export default {
components: {
[Sticky.name]: Sticky,
[Popup.name]: Popup,
[Picker.name]: Picker,
[DatetimePicker.name]: DatetimePicker
[DatetimePicker.name]: DatetimePicker,
[Tag.name]: Tag,
[Button.name]: Button
},
data() {
return {
searchType: true,
topTableLeft: '',
minDate: new Date('1999/01/01'),
maxDate: new Date(`${new Date().getFullYear() + 5}/12/31`),
currentDate: new Date(),
minDate: new Date(2019, 8, 1),
startTime: new Date(2019, 8, 1),
endTime: new Date(),
startTimeStr: '',
endTimeStr: '',
columns: [],
data: [],
code: this.$route.params.code,
pdfUrl: '',
downLoadUrl: '',
showTime: false, //显示时间选择器
// 是否显示结束日期选择器
showEndTime: false,
showPiker: false, //显示picker
params: {
//删选条件 的数据
dateType: '1999-06-28T16:00:00.000Z', //筛选日期
area: {
areaName: '',
areaCode: ''
@@ -214,26 +222,9 @@ export default {
]
return `${Y}-${M}-${D}`
}
},
formatTime() {
return type => {
const date = new Date()
switch (type) {
case 1:
return `${date.getFullYear()}-${date.getMonth() + 1}-${date.getDate()}`
case 2:
return `${date.getFullYear()}-${date.getMonth() + 1}-01`
default: {
const selectDate = new Date(type)
return `${selectDate.getFullYear()}-${selectDate.getMonth() + 1}-${selectDate.getDate()}`
}
}
}
}
},
async created() {
// this.$store.commit('setAgentGrade', 301)
// this.exportExcel()
this.nbsAgentGrade = window.localStorage.getItem('nbsAgentGrade')
setTimeout(() => {
this.filterBtn() // 初始化下载按钮
@@ -254,14 +245,17 @@ export default {
},
methods: {
async getTableList() {
const rs = await getTableList({
let condition = {
departmentCode: this.params.picker_1.agentgroup ? this.params.picker_1.agentgroup : '',
branchCode: this.params.picker_2.agentgroup ? this.params.picker_2.agentgroup : '',
distict: this.params.area.areaCode,
startTime: this.formatTime(this.params.dateType),
startTime: dateUtil.formatDate(this.startTime, 'yyyy-MM-dd'),
endTime: dateUtil.formatDate(this.endTime, 'yyyy-MM-dd'),
pageSize: 0,
pageNum: 0
})
}
console.log(condition)
const rs = await getTableList(condition)
if (rs.result === '1') {
this.tableData = []
this.isLoading = false
@@ -286,18 +280,31 @@ export default {
},
async getRankList() {
const rs = await getRankList()
console.log('rs ::::: ', rs)
rs.content.branchGroupBaseDtoList.map(item => {
return (item.text = item.name)
})
// 增加查询全部选项
rs.content.branchGroupBaseDtoList.unshift({
agentgroup: '',
name: '全部',
text: '全部'
})
rs.content.deptList.map(item => {
return (item.text = item.name)
})
rs.content.deptList.unshift({
agentgroup: '',
name: '全部',
text: '全部'
})
this.pickerData.response = rs.content
if (this.nbsAgentGrade >= 400) {
this.pickerData.deptList = rs.content.deptList
this.params.picker_1 = rs.content.deptList[0]
} else if (this.nbsAgentGrade >= 300) {
this.pickerData.branchGroupBaseDtoList = rs.content.branchGroupBaseDtoList
this.params.picker_2 = rs.content.branchGroupBaseDtoList[0]
} else if (this.nbsAgentGrade >= 200) {
this.params.picker_2 = rs.content.branchGroupBaseDtoList[0]
}
@@ -306,7 +313,9 @@ export default {
this.closePiker()
this.params[`picker_${this.pickerType}`] = data
if (this.pickerType === 1) {
this.pickerData.branchGroupBaseDtoList = (await getGankLevel(this.params.picker_1.agentgroup)).content
let data = await getGankLevel(this.params.picker_1.agentgroup)
console.log(data)
this.pickerData.branchGroupBaseDtoList = data.content
}
this.getTableList()
},
@@ -326,14 +335,14 @@ export default {
this.pickerType = type
this.showPiker = true
},
setDateType(type) {
setDateType() {
this.searchType = false
this.showTime = false
this.params.dateType = type
this.startTime = new Date()
this.startTimeStr = dateUtil.formatDate(this.startTime, 'yyyy-MM-dd')
this.endTimeStr = dateUtil.formatDate(this.endTime, 'yyyy-MM-dd')
this.getTableList()
},
showTimeSelector() {
this.showTime = !this.showTime
},
// 下载按钮
filterBtn() {
window.EWebBridge.webCallAppInJs('webview_right_button', {
@@ -352,7 +361,8 @@ export default {
departmentCode: this.params.picker_1.agentgroup ? this.params.picker_1.agentgroup : '',
branchCode: this.params.picker_2.agentgroup ? this.params.picker_2.agentgroup : '',
distict: this.params.area.areaCode,
startTime: this.formatTime(this.params.dateType),
startTime: dateUtil.formatDate(this.startTime, 'yyyy-MM-dd'),
endTime: dateUtil.formatDate(this.endTime, 'yyyy-MM-dd'),
pageSize: 0,
pageNum: 0
}
@@ -408,6 +418,20 @@ export default {
path: `/nbs/result/${orderNo}/${flag}/${nbsState}`
}
})
},
setStartTime(value) {
this.showTime = false
this.startTime = value
this.startTimeStr = dateUtil.formatDate(value, 'yyyy-MM-dd')
},
setEndTime(value) {
this.showEndTime = false
this.endTime = value
this.endTimeStr = dateUtil.formatDate(value, 'yyyy-MM-dd')
},
queryTableList() {
this.searchType = true
this.getTableList()
}
}
}
@@ -501,6 +525,10 @@ div.max {
border-left: 0;
border-right: 0;
padding: 0 10px;
.left-time {
display: flex;
justify-content: space-between;
}
.left {
/deep/ button:nth-child(1) {
margin-right: 10px;
@@ -517,11 +545,12 @@ div.max {
}
}
.right {
font-size: 14px;
font-size: 12px;
margin-right: 1em;
display: flex;
align-items: center;
span {
padding-right: 5px;
margin-right: 0.2em;
}
}
}