修改法规预警搜索时间问题

This commit is contained in:
高嵩
2023-06-15 18:12:59 +08:00
parent e7ae803cee
commit 8cc068f823
2 changed files with 346 additions and 299 deletions
+6 -1
View File
@@ -230,7 +230,12 @@
// this.queryParam['WarnTimeText'] = '2' // this.queryParam['WarnTimeText'] = '2'
// } // }
let startTime = moment(new Date()).format('YYYY-MM-DD') let startTime = moment(new Date()).format('YYYY-MM-DD')
let endTime = this.getNowdate() let endTime = ''
if (!this.queryParam['WarnTimeText']){
endTime = '2099-01-01'
}else{
endTime = this.getNowdate()
}
if(this.queryParam['WarnTimeText'] == '5'){ if(this.queryParam['WarnTimeText'] == '5'){
this.queryParam['WarnTime'] = [endTime, startTime] this.queryParam['WarnTime'] = [endTime, startTime]
}else{ }else{
@@ -5,19 +5,19 @@
:searchQueryList="searchQueryList" :searchQueryList="searchQueryList"
:flag="'1'" :flag="'1'"
:isDefault="true" :isDefault="true"
:url="url"/> :url="url" />
</div> </div>
<div class="table-operator"> <div class="table-operator">
<div @click="handleCompare" v-has="'regulatoryEarlyWarning:push'" <div @click="handleCompare" v-has="'regulatoryEarlyWarning:push'"
class="operator-text"> class="operator-text">
<a-icon type="share-alt"/> <a-icon type="share-alt" />
{{$t('share')}} {{ $t('share') }}
</div> </div>
<div @click="handleExport" <div @click="handleExport"
v-has="'regulatoryEarlyWarning:export'" v-has="'regulatoryEarlyWarning:export'"
class="operator-text"> class="operator-text">
<a-icon type="export" :rotate="-90"/> <a-icon type="export" :rotate="-90" />
{{$t('export')}} {{ $t('export') }}
</div> </div>
</div> </div>
<div> <div>
@@ -40,39 +40,39 @@
:columns="columns" :columns="columns"
> >
<span slot="serial_number" slot-scope="text,result"> <span slot="serial_number" slot-scope="text,result">
<a @click="standClick(result)" :title="text">{{text}}</a> <a @click="standClick(result)" :title="text">{{ text }}</a>
</span> </span>
<span slot="vehicleInProductionDate" slot-scope="text,result" :title="text"> <span slot="vehicleInProductionDate" slot-scope="text,result" :title="text">
<span v-if="result.xin1_che1_xing2_shi2_shi1_ri4_qi1 == 'yellow'"> <span v-if="result.xin1_che1_xing2_shi2_shi1_ri4_qi1 == 'yellow'">
{{text}} {{ text }}
</span> </span>
<span v-else-if="result.xin1_che1_xing2_shi2_shi1_ri4_qi1 == 'red'"> <span v-else-if="result.xin1_che1_xing2_shi2_shi1_ri4_qi1 == 'red'">
{{text}} {{ text }}
</span> </span>
<span v-else> <span v-else>
{{text}} {{ text }}
</span> </span>
</span> </span>
<span slot="ImplementationDate" slot-scope="text,result" :title="text"> <span slot="ImplementationDate" slot-scope="text,result" :title="text">
<span v-if="result.new_colour == 'yellow'" style="color: #fdd835"> <span v-if="result.new_colour == 'yellow'" style="color: #fdd835">
{{text}} {{ text }}
</span> </span>
<span v-else-if="result.new_colour == 'red'" style="color: red"> <span v-else-if="result.new_colour == 'red'" style="color: red">
{{text}} {{ text }}
</span> </span>
<span v-else> <span v-else>
{{text}} {{ text }}
</span> </span>
</span> </span>
<span slot="vehicleInProductionDate" slot-scope="text,result" :title="text"> <span slot="vehicleInProductionDate" slot-scope="text,result" :title="text">
<span v-if="result.implement_colour == 'yellow'" style="color: #fdd835"> <span v-if="result.implement_colour == 'yellow'" style="color: #fdd835">
{{text}} {{ text }}
</span> </span>
<span v-else-if="result.implement_colour == 'red'" style="color: red"> <span v-else-if="result.implement_colour == 'red'" style="color: red">
{{text}} {{ text }}
</span> </span>
<span v-else> <span v-else>
{{text}} {{ text }}
</span> </span>
</span> </span>
</a-table> </a-table>
@@ -98,253 +98,292 @@
</template> </template>
<script> <script>
import search from '@/components/search/index' import search from '@/components/search/index'
import libraryPush from '@/components/libraryPush/index' import libraryPush from '@/components/libraryPush/index'
import { getAction, postAction, deleteAction, downloadFile } from '@/api/manage' import { getAction, postAction, deleteAction, downloadFile } from '@/api/manage'
import moment from 'moment' import moment from 'moment'
import eventBUs from '../../common/event' import eventBUs from '../../common/event'
import { ResizeHeader, ResizeColumnProvide } from '@/mixins/header' import { ResizeHeader, ResizeColumnProvide } from '@/mixins/header'
export default { export default {
name: 'index', name: 'index',
components: { components: {
search, search,
libraryPush libraryPush
}, },
mixins: [ResizeColumnProvide,ResizeHeader], mixins: [ResizeColumnProvide, ResizeHeader],
data() { data() {
return { return {
//url传参严格按照当前命名 //url传参严格按照当前命名
url: { url: {
seachList: 'document/bussDocumentLibraryEO/queryCondition', //搜索字段 seachList: 'document/bussDocumentLibraryEO/queryCondition', //搜索字段
list: '/LawsWarn/queryPageInfo', list: '/LawsWarn/queryPageInfo',
exportData: 'LawsWarn/exportExcel', exportData: 'LawsWarn/exportExcel',
pullMessage: '/LawsWarn/warnPullMessage' pullMessage: '/LawsWarn/warnPullMessage'
},
activeTab: this.$t('ImplementationDate'),
loading: false,
dataSource: [],
selectedRowKeys: [],
total: 0,
pageSize: 10,
pageNo: 1,
searchParmes: {},
searchQueryList: [
{
field_show_type: 12,
db_field_txt: this.$t('warningTime'),
db_field_name: 'WarnTimeText',
option: [
{
value: '1',
name: this.$t('inRecentMonths3')
},
{
value: '2',
name: this.$t('inRecentMonths6')
},
{
value: '5',
name: this.$t('inRecentMonthsin6')
},
{
value: '3',
name: this.$t('inRecentYear1')
},
{
value: '4',
name: this.$t('inRecentYear2')
},
{
value: '6',
name: this.$t('inRecentYear3')
}
]
}
],
columnsAll: [
{
title: this.$t('standard'),
align: 'left',
dataIndex: 'serial_number',
ellipsis: true,
width: 170,
scopedSlots: { customRender: 'serial_number' }
}, },
activeTab: this.$t('ImplementationDate'), {
loading: false, title: this.$t('title'),
dataSource: [], align: 'left',
selectedRowKeys: [], dataIndex: 'title',
total: 0, ellipsis: true,
pageSize: 10, width: 170,
pageNo: 1, scopedSlots: { customRender: 'serial_number' }
searchParmes: {}, },
searchQueryList: [ {
{ title: this.$t('status'),
field_show_type: 12, align: 'left',
db_field_txt: this.$t('warningTime'), width: 140,
db_field_name: 'WarnTimeText', ellipsis: true,
option: [ dataIndex: 'state'
{ },
value: '1', {
name:this.$t('inRecentMonths3') title: this.$t('zoneOfApplication'),
}, align: 'left',
{ width: 170,
value: '2', ellipsis: true,
name: this.$t('inRecentMonths6') dataIndex: 'region'
}, },
{ {
value: '5', title: this.$t('technicalField'),
name: this.$t('inRecentMonthsin6') align: 'left',
}, ellipsis: true,
{ width: 170,
value: '3', dataIndex: 'technology_territory'
name: this.$t('inRecentYear1') },
}, {
{ title: this.$t('vehicleInProductionDate'),
value: '4', align: 'left',
name: this.$t('inRecentYear2') ellipsis: true,
}, width: 190,
{ dataIndex: 'implement_time',
value: '6', scopedSlots: { customRender: 'vehicleInProductionDate' }
name: this.$t('inRecentYear3') },
}, {
] title: this.$t('ImplementationDate'),
} align: 'left',
], ellipsis: true,
width: 190,
columnsAll: [ dataIndex: 'xin1_che1_xing2_shi2_shi1_ri4_qi1',
{ scopedSlots: { customRender: 'ImplementationDate' }
title: this.$t('standard'), }
align: 'left', ]
dataIndex: 'serial_number', }
ellipsis: true, },
width: 170, computed: {
scopedSlots: { customRender: 'serial_number' } columns() {
}, let columnsAll = JSON.parse(JSON.stringify(this.columnsAll))
{ if (this.activeTab == this.$t('ImplementationDate')) {
title: this.$t('title'), for (let i = 0; i < columnsAll.length; i++) {
align: 'left', if (columnsAll[i].dataIndex == 'implement_time') {
dataIndex: 'title', columnsAll.splice(i, 1)
ellipsis: true, i--
width: 170,
scopedSlots: { customRender: 'serial_number' }
},
{
title: this.$t('status'),
align: 'left',
width: 140,
ellipsis: true,
dataIndex: 'state'
},
{
title: this.$t('zoneOfApplication'),
align: 'left',
width: 170,
ellipsis: true,
dataIndex: 'region'
},
{
title: this.$t('technicalField'),
align: 'left',
ellipsis: true,
width: 170,
dataIndex: 'technology_territory'
},
{
title: this.$t('vehicleInProductionDate'),
align: 'left',
ellipsis: true,
width: 190,
dataIndex: 'implement_time',
scopedSlots: { customRender: 'vehicleInProductionDate' }
},
{
title: this.$t('ImplementationDate'),
align: 'left',
ellipsis: true,
width: 190,
dataIndex: 'xin1_che1_xing2_shi2_shi1_ri4_qi1',
scopedSlots: { customRender: 'ImplementationDate' }
}
]
}
},
computed: {
columns() {
let columnsAll = JSON.parse(JSON.stringify(this.columnsAll))
if (this.activeTab == this.$t('ImplementationDate')) {
for (let i = 0; i < columnsAll.length; i++) {
if (columnsAll[i].dataIndex == 'implement_time') {
columnsAll.splice(i, 1)
i--
}
}
} else if (this.activeTab == this.$t('vehicleInProductionDate')) {
for (let i = 0; i < columnsAll.length; i++) {
if (columnsAll[i].dataIndex == 'xin1_che1_xing2_shi2_shi1_ri4_qi1') {
columnsAll.splice(i, 1)
i--
}
} }
} }
return columnsAll } else if (this.activeTab == this.$t('vehicleInProductionDate')) {
} for (let i = 0; i < columnsAll.length; i++) {
}, if (columnsAll[i].dataIndex == 'xin1_che1_xing2_shi2_shi1_ri4_qi1') {
mounted() { columnsAll.splice(i, 1)
// this.getList() i--
eventBUs.$on('searchQuery', search => {
Object.keys(search).forEach(res => {
if (search[res] instanceof Array) {
search[res] = search[res].join(',')
} }
}) }
this.pageNo = 1 }
this.searchParmes = search return columnsAll
this.getList() }
},
mounted() {
// this.getList()
eventBUs.$on('searchQuery', search => {
Object.keys(search).forEach(res => {
if (search[res] instanceof Array) {
search[res] = search[res].join(',')
}
}) })
}, this.pageNo = 1
beforeDestroy() { this.searchParmes = search
eventBUs.$off('searchQuery') this.getList()
}, })
methods: { },
standClick(val){ beforeDestroy() {
let newUrl = this.$router.resolve({ eventBUs.$off('searchQuery')
path: '/docManage/library/detail', },
query: { methods: {
id: val.id standClick(val) {
} let newUrl = this.$router.resolve({
}) path: '/docManage/library/detail',
window.open(newUrl.href, '_blank') query: {
}, id: val.id
callback(tab) {
this.selectedRowKeys = []
this.activeTab = tab
this.getList()
},
onSelectChange(value) {
this.selectedRowKeys = value
},
handleCompare() {
if (this.selectedRowKeys.length > 0) {
this.$nextTick(() => {
let flag = ''
if (this.activeTab == this.$t('ImplementationDate')) {
flag = 1
} else {
flag = 2
}
this.$refs.libraryPushRef.getPush(JSON.parse(JSON.stringify(this.selectedRowKeys)), flag)
})
} else {
this.$message.warning(this.$t('selectLeastOne'))
} }
}, })
handleExport() { window.open(newUrl.href, '_blank')
if (this.selectedRowKeys && this.selectedRowKeys.length > 0) { },
let selectedRowKeys = JSON.parse(JSON.stringify(this.selectedRowKeys)) callback(tab) {
let text = '' this.selectedRowKeys = []
let flag this.activeTab = tab
this.getList()
},
onSelectChange(value) {
this.selectedRowKeys = value
},
handleCompare() {
if (this.selectedRowKeys.length > 0) {
this.$nextTick(() => {
let flag = ''
if (this.activeTab == this.$t('ImplementationDate')) { if (this.activeTab == this.$t('ImplementationDate')) {
flag = 0
text = this.$t('ImplementationDate')
} else {
text = this.$t('vehicleInProductionDate')
flag = 1 flag = 1
} else {
flag = 2
} }
let query = { this.$refs.libraryPushRef.getPush(JSON.parse(JSON.stringify(this.selectedRowKeys)), flag)
id: selectedRowKeys.join(','), })
...this.searchParmes, } else {
flag: flag this.$message.warning(this.$t('selectLeastOne'))
} }
downloadFile(this.url.exportData, text + '.xls', query, this.Deselect) },
handleExport() {
if (this.selectedRowKeys && this.selectedRowKeys.length > 0) {
let selectedRowKeys = JSON.parse(JSON.stringify(this.selectedRowKeys))
let text = ''
let flag
if (this.activeTab == this.$t('ImplementationDate')) {
flag = 0
text = this.$t('ImplementationDate')
} else { } else {
this.$message.warning(this.$t('selectLeastOne')) text = this.$t('vehicleInProductionDate')
flag = 1
} }
}, let query = {
Deselect() { id: selectedRowKeys.join(','),
this.selectedRowKeys = [] ...this.searchParmes,
}, flag: flag
clearSelected() {
if (!this.searchParmes['WarnTimeText']) {
this.searchParmes['WarnTimeText'] = '2'
} }
let startTime = moment(new Date()).format('YYYY-MM-DD') downloadFile(this.url.exportData, text + '.xls', query, this.Deselect)
let endTime = this.getNowdate() } else {
this.searchParmes['WarnTime'] = [startTime, endTime] this.$message.warning(this.$t('selectLeastOne'))
this.searchParmes = { ...this.searchParmes } }
this.pageNo = 1 },
this.getList() Deselect() {
}, this.selectedRowKeys = []
getNowdate() { },
let monthData clearSelected() {
let yearData let endTime = ''
if (this.searchParmes['WarnTimeText'] == '1') { if (!this.searchParmes['WarnTimeText']) {
monthData = 4 endTime = '2099-01-01'
yearData = 1 } else {
} else if (this.searchParmes['WarnTimeText'] == '2') { endTime = this.getNowdate()
monthData = 7 }
yearData = 1 let startTime = moment(new Date()).format('YYYY-MM-DD')
} else if (this.searchParmes['WarnTimeText'] == '3') { this.searchParmes['WarnTime'] = [startTime, endTime]
monthData = 13 this.searchParmes = { ...this.searchParmes }
yearData = 1 this.pageNo = 1
} else if (this.searchParmes['WarnTimeText'] == '4') { this.getList()
monthData = 25 },
yearData = 2 getNowdate() {
}else if (this.queryParam['WarnTimeText'] == '6') { let monthData
monthData = 37 let yearData
yearData = 3 if (this.searchParmes['WarnTimeText'] == '1') {
monthData = 4
yearData = 1
} else if (this.searchParmes['WarnTimeText'] == '2') {
monthData = 7
yearData = 1
} else if (this.searchParmes['WarnTimeText'] == '3') {
monthData = 13
yearData = 1
} else if (this.searchParmes['WarnTimeText'] == '4') {
monthData = 25
yearData = 2
} else if (this.searchParmes['WarnTimeText'] == '5') {
monthData = 7
yearData = -1
} else if (this.searchParmes['WarnTimeText'] == '6') {
monthData = 37
yearData = 3
}
if (this.searchParmes['WarnTimeText'] == '5') {
var time = new Date()
time.setTime(time.getTime())
var s2 = time.getFullYear() + '-' + (time.getMonth() + 1) + '-' + time.getDate()
var monthNum = 6 //要减的月数(6)自己定义
var dateArr = s2.split('-') //s2当前时间
var year = dateArr[0] //获取当前日期的年份
var month = dateArr[1] //获取当前日期的月份
var day = dateArr[2] //获取当前日期的日
var days = new Date(year, month, 0)
days = days.getDate() //获取当前日期中月的天数
var year2
if (month < 6) {
year2 = year - 1
} else {
year2 = year
} }
var month2 = parseInt(month) - monthNum
if (month2 <= 0) {
year2 = parseInt(year2) - parseInt(month2 / 12 == 0 ? 1 : parseInt(month2) / 12)
month2 = 12 - (Math.abs(month2) % 12)
}
var day2 = day
var days2 = new Date(year2, month2, 0)
days2 = days2.getDate()
if (day2 > days2) {
day2 = days2
}
if (month2 < 10) {
month2 = '0' + month2
}
var t2 = year2 + '-' + month2 + '-' + day2
return t2
} else {
var date_now = new Date()//获取当前时间 var date_now = new Date()//获取当前时间
var year = date_now.getFullYear()//获取当前时间的年份 var year = date_now.getFullYear()//获取当前时间的年份
var month = date_now.getMonth()//获取当前时间的月份 var month = date_now.getMonth()//获取当前时间的月份
@@ -368,64 +407,67 @@
} }
var time = year2 + '-' + month2 + '-' + day2 var time = year2 + '-' + month2 + '-' + day2
return time return time
},
pageOnChange(page) {
this.pageNo = page
this.getList()
},
SizeChange(page, pageSize) {
this.pageNo = 1
this.pageSize = pageSize
this.getList()
},
getList() {
let flag
if (this.activeTab == this.$t('ImplementationDate')) {
flag = 0
} else {
flag = 1
}
let params = {
...this.searchParmes,
pageNo: this.pageNo,
pageSize: this.pageSize,
flag: flag
}
this.loading = true
postAction(this.url.list, params).then((res) => {
if (res.success) {
this.dataSource = res.result.records
this.total = res.result.total
this.loading = false
} else {
this.loading = false
}
}).finally(() => {
this.loading = false
})
} }
},
pageOnChange(page) {
this.pageNo = page
this.getList()
},
SizeChange(page, pageSize) {
this.pageNo = 1
this.pageSize = pageSize
this.getList()
},
getList() {
let flag
if (this.activeTab == this.$t('ImplementationDate')) {
flag = 0
} else {
flag = 1
}
let params = {
...this.searchParmes,
pageNo: this.pageNo,
pageSize: this.pageSize,
flag: flag
}
this.loading = true
postAction(this.url.list, params).then((res) => {
if (res.success) {
this.dataSource = res.result.records
this.total = res.result.total
this.loading = false
} else {
this.loading = false
}
}).finally(() => {
this.loading = false
})
} }
} }
}
</script> </script>
<style scoped lang="less"> <style scoped lang="less">
@import '~@assets/less/common.less'; @import '~@assets/less/common.less';
.page { .page {
text-align: right; text-align: right;
margin-top: 20px; margin-top: 20px;
} }
::v-deep .ant-table-row:first-child { ::v-deep .ant-table-row:first-child {
background: #fff !important; background: #fff !important;
opacity: 0.9; opacity: 0.9;
} }
::v-deep .ant-table-body { ::v-deep .ant-table-body {
background: transparent !important; background: transparent !important;
} }
/deep/ .ant-table-placeholder{ /deep/ .ant-table-placeholder {
margin-top: 8px !important; margin-top: 8px !important;
} }
</style> </style>