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

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'
// }
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'){
this.queryParam['WarnTime'] = [endTime, startTime]
}else{
@@ -5,19 +5,19 @@
:searchQueryList="searchQueryList"
:flag="'1'"
:isDefault="true"
:url="url"/>
:url="url" />
</div>
<div class="table-operator">
<div @click="handleCompare" v-has="'regulatoryEarlyWarning:push'"
class="operator-text">
<a-icon type="share-alt"/>
{{$t('share')}}
<a-icon type="share-alt" />
{{ $t('share') }}
</div>
<div @click="handleExport"
v-has="'regulatoryEarlyWarning:export'"
class="operator-text">
<a-icon type="export" :rotate="-90"/>
{{$t('export')}}
<a-icon type="export" :rotate="-90" />
{{ $t('export') }}
</div>
</div>
<div>
@@ -40,39 +40,39 @@
:columns="columns"
>
<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 slot="vehicleInProductionDate" slot-scope="text,result" :title="text">
<span v-if="result.xin1_che1_xing2_shi2_shi1_ri4_qi1 == 'yellow'">
{{text}}
{{ text }}
</span>
<span v-else-if="result.xin1_che1_xing2_shi2_shi1_ri4_qi1 == 'red'">
{{text}}
{{ text }}
</span>
<span v-else>
{{text}}
{{ text }}
</span>
</span>
<span slot="ImplementationDate" slot-scope="text,result" :title="text">
<span v-if="result.new_colour == 'yellow'" style="color: #fdd835">
{{text}}
{{ text }}
</span>
<span v-else-if="result.new_colour == 'red'" style="color: red">
{{text}}
{{ text }}
</span>
<span v-else>
{{text}}
{{ text }}
</span>
</span>
<span slot="vehicleInProductionDate" slot-scope="text,result" :title="text">
<span v-if="result.implement_colour == 'yellow'" style="color: #fdd835">
{{text}}
{{ text }}
</span>
<span v-else-if="result.implement_colour == 'red'" style="color: red">
{{text}}
{{ text }}
</span>
<span v-else>
{{text}}
{{ text }}
</span>
</span>
</a-table>
@@ -98,253 +98,292 @@
</template>
<script>
import search from '@/components/search/index'
import libraryPush from '@/components/libraryPush/index'
import { getAction, postAction, deleteAction, downloadFile } from '@/api/manage'
import moment from 'moment'
import eventBUs from '../../common/event'
import { ResizeHeader, ResizeColumnProvide } from '@/mixins/header'
import search from '@/components/search/index'
import libraryPush from '@/components/libraryPush/index'
import { getAction, postAction, deleteAction, downloadFile } from '@/api/manage'
import moment from 'moment'
import eventBUs from '../../common/event'
import { ResizeHeader, ResizeColumnProvide } from '@/mixins/header'
export default {
name: 'index',
components: {
search,
libraryPush
},
mixins: [ResizeColumnProvide,ResizeHeader],
data() {
return {
//url传参严格按照当前命名
url: {
seachList: 'document/bussDocumentLibraryEO/queryCondition', //搜索字段
list: '/LawsWarn/queryPageInfo',
exportData: 'LawsWarn/exportExcel',
pullMessage: '/LawsWarn/warnPullMessage'
export default {
name: 'index',
components: {
search,
libraryPush
},
mixins: [ResizeColumnProvide, ResizeHeader],
data() {
return {
//url传参严格按照当前命名
url: {
seachList: 'document/bussDocumentLibraryEO/queryCondition', //搜索字段
list: '/LawsWarn/queryPageInfo',
exportData: 'LawsWarn/exportExcel',
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,
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' }
},
{
title: this.$t('title'),
align: 'left',
dataIndex: 'title',
ellipsis: true,
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--
}
{
title: this.$t('title'),
align: 'left',
dataIndex: 'title',
ellipsis: true,
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--
}
}
return columnsAll
}
},
mounted() {
// this.getList()
eventBUs.$on('searchQuery', search => {
Object.keys(search).forEach(res => {
if (search[res] instanceof Array) {
search[res] = search[res].join(',')
} 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--
}
})
this.pageNo = 1
this.searchParmes = search
this.getList()
}
}
return columnsAll
}
},
mounted() {
// this.getList()
eventBUs.$on('searchQuery', search => {
Object.keys(search).forEach(res => {
if (search[res] instanceof Array) {
search[res] = search[res].join(',')
}
})
},
beforeDestroy() {
eventBUs.$off('searchQuery')
},
methods: {
standClick(val){
let newUrl = this.$router.resolve({
path: '/docManage/library/detail',
query: {
id: val.id
}
})
window.open(newUrl.href, '_blank')
},
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'))
this.pageNo = 1
this.searchParmes = search
this.getList()
})
},
beforeDestroy() {
eventBUs.$off('searchQuery')
},
methods: {
standClick(val) {
let newUrl = this.$router.resolve({
path: '/docManage/library/detail',
query: {
id: val.id
}
},
handleExport() {
if (this.selectedRowKeys && this.selectedRowKeys.length > 0) {
let selectedRowKeys = JSON.parse(JSON.stringify(this.selectedRowKeys))
let text = ''
let flag
})
window.open(newUrl.href, '_blank')
},
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 = 0
text = this.$t('ImplementationDate')
} else {
text = this.$t('vehicleInProductionDate')
flag = 1
} else {
flag = 2
}
let query = {
id: selectedRowKeys.join(','),
...this.searchParmes,
flag: flag
}
downloadFile(this.url.exportData, text + '.xls', query, this.Deselect)
this.$refs.libraryPushRef.getPush(JSON.parse(JSON.stringify(this.selectedRowKeys)), flag)
})
} else {
this.$message.warning(this.$t('selectLeastOne'))
}
},
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 {
this.$message.warning(this.$t('selectLeastOne'))
text = this.$t('vehicleInProductionDate')
flag = 1
}
},
Deselect() {
this.selectedRowKeys = []
},
clearSelected() {
if (!this.searchParmes['WarnTimeText']) {
this.searchParmes['WarnTimeText'] = '2'
let query = {
id: selectedRowKeys.join(','),
...this.searchParmes,
flag: flag
}
let startTime = moment(new Date()).format('YYYY-MM-DD')
let endTime = this.getNowdate()
this.searchParmes['WarnTime'] = [startTime, endTime]
this.searchParmes = { ...this.searchParmes }
this.pageNo = 1
this.getList()
},
getNowdate() {
let monthData
let yearData
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.queryParam['WarnTimeText'] == '6') {
monthData = 37
yearData = 3
downloadFile(this.url.exportData, text + '.xls', query, this.Deselect)
} else {
this.$message.warning(this.$t('selectLeastOne'))
}
},
Deselect() {
this.selectedRowKeys = []
},
clearSelected() {
let endTime = ''
if (!this.searchParmes['WarnTimeText']) {
endTime = '2099-01-01'
} else {
endTime = this.getNowdate()
}
let startTime = moment(new Date()).format('YYYY-MM-DD')
this.searchParmes['WarnTime'] = [startTime, endTime]
this.searchParmes = { ...this.searchParmes }
this.pageNo = 1
this.getList()
},
getNowdate() {
let monthData
let yearData
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 year = date_now.getFullYear()//获取当前时间的年份
var month = date_now.getMonth()//获取当前时间的月份
@@ -368,64 +407,67 @@
}
var time = year2 + '-' + month2 + '-' + day2
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>
<style scoped lang="less">
@import '~@assets/less/common.less';
@import '~@assets/less/common.less';
.page {
text-align: right;
margin-top: 20px;
}
.page {
text-align: right;
margin-top: 20px;
}
::v-deep .ant-table-row:first-child {
background: #fff !important;
opacity: 0.9;
}
::v-deep .ant-table-row:first-child {
background: #fff !important;
opacity: 0.9;
}
::v-deep .ant-table-body {
background: transparent !important;
}
::v-deep .ant-table-body {
background: transparent !important;
}
/deep/ .ant-table-placeholder{
margin-top: 8px !important;
}
/deep/ .ant-table-placeholder {
margin-top: 8px !important;
}
</style>