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