Merge remote-tracking branch 'origin/dev_third_stage' into dev_third_stage

# Conflicts:
#	jero-web/src/common/lang/en-us.js
#	jero-web/src/common/lang/zh-cn.js
This commit is contained in:
zhaomeijing
2022-06-21 18:02:32 +08:00
5 changed files with 345 additions and 5 deletions
+2
View File
@@ -954,4 +954,6 @@ module.exports = {
disableInput: 'Disable input',
OnlyOrTaskconfirmationOut: 'Only when the list confirmation status or task confirmation status is to be confirmed can the reminder be carried out',
or: 'or',
OnlyOrTaskconfirmationOut: 'Only when the list confirmation status or task confirmation status is to be confirmed can the reminder be carried out',
warningTime:'Warning time',
}
+1
View File
@@ -959,4 +959,5 @@ module.exports = {
OnlyOrTaskconfirmationOut:'只有清单确认状态或任务确认状态为待确认时才可以进行催办',
disableInput:'禁止输入',
or: '或',
warningTime:'预警时间',
}
@@ -26,7 +26,10 @@
},
watch: {
'$route': function(val) {
if (val.meta.title == '首页' || val.meta.title === ' home page') {
if (val.meta.title == '首页' ||
val.meta.title === ' Home Page' ||
this.$route.meta.title === '法规预警' ||
this.$route.meta.title === 'Regulatory Early Warning') {
this.Navigation = val.meta.title
this.subNavigation = null
} else {
@@ -36,7 +39,10 @@
},
mounted() {
console.log(this.$route.meta)
if (this.$route.meta.title === '首页' || this.$route.meta.title === ' home page') {
if (this.$route.meta.title === '首页' ||
this.$route.meta.title === ' Home Page' ||
this.$route.meta.title === '法规预警' ||
this.$route.meta.title === 'Regulatory Early Warning') {
this.Navigation = this.$route.meta.title
this.subNavigation = null
} else {
+116 -3
View File
@@ -165,6 +165,14 @@
flag: {
type: String,
default: ''
},
searchQueryList: {
type: Array,
default: []
},
isDefault: {
type: Boolean,
default: false
}
},
data() {
@@ -183,6 +191,12 @@
},
searchReset() {
this.queryParam = {}
if (this.isDefault) {
let startTime = moment(new Date()).format('YYYY-MM-DD')
let endTime = this.getNewDate('after', 6)
this.queryParam['warningTime'] = [startTime, endTime]
this.queryParam = { ...this.queryParam }
}
eventBUs.$emit('searchQuery', JSON.parse(JSON.stringify(this.queryParam)))
},
getSeach() {
@@ -192,12 +206,79 @@
getAction(this.url.seachList, params).then((res) => {
if (res.success) {
this.searchList = res.result
if (this.searchQueryList && this.searchQueryList.length > 0) {
this.searchList = this.searchList.concat(this.searchQueryList)
let startTime = moment(new Date()).format('YYYY-MM-DD')
let endTime = this.getNewDate('after', 6)
this.queryParam['warningTime'] = [startTime, endTime]
this.queryParam = { ...this.queryParam }
}
}
})
},
// handleToggleSearch() {
// this.toggleSearchStatus = !this.toggleSearchStatus
// },
getNewDate(flag, many) {
const thirtyDays = [4, 6, 9, 11] // 30天的月份
const thirtyOneDays = [1, 3, 5, 7, 8, 10, 12] // 31天的月份
const currDate = new Date() // 今天日期
const year = currDate.getFullYear()
let month = currDate.getMonth() + 1
let targetDateMilli = 0
let GMTDate = '' // 中国标准时间
let targetYear = '' // 年
let targetMonth = '' // 月
let targetDate = '' // 日
let dealTargetDays = '' // 目标日期
const isLeapYear = !!((year % 4 == 0 && year % 100 != 0) || year % 400 == 0) // 是否是闰年
let countDays = 0 // 累计天数
for (let i = 0; i < many; i++) {
if (flag === 'before') {
month = month - 1 <= 0 ? 12 : month - 1
} else {
month = month + 1 > 12 ? 1 : month + 1
}
thirtyDays.includes(month) ? (countDays += 30) : thirtyOneDays.includes(month) ? (countDays += 31) : isLeapYear ? (countDays += 29) : (countDays += 28)
}
targetDateMilli = currDate.setDate(
currDate.getDate() - (flag === 'before' ? countDays : countDays * -1)
)
GMTDate = new Date(targetDateMilli)
targetYear = GMTDate.getFullYear()
targetMonth = GMTDate.getMonth() + 1
targetDate = GMTDate.getDate()
targetMonth = targetMonth.toString().padStart(2, '0')
targetDate = targetDate.toString().padStart(2, '0')
dealTargetDays = `${targetYear}-${targetMonth}-${targetDate}`
return dealTargetDays
},
dateChange(item) {
this.queryParam[item] = moment(this.queryParam[item]).format('YYYY-MM-DD')
},
@@ -216,7 +297,39 @@
}
}
</script>
<style>
.box-input .ant-select-selection--single {
height: 38px;
}
.box-input .ant-select-selection--multiple {
height: 38px;
}
.box-input .ant-select-selection__rendered {
line-height: 38px;
height: 38px;
}
.box-input .ant-select-selection--multiple .ant-select-selection__rendered > ul > li {
margin-top: 6px;
}
.box-input .ant-calendar-picker {
line-height: 38px;
height: 38px;
}
.box-input .ant-calendar-picker-input {
height: 38px;
}
.box-input .ant-input-number-input-wrap {
line-height: 38px;
height: 38px;
}
</style>
<style scoped>
.box-title-text {
line-height: 1.4;
@@ -0,0 +1,218 @@
<template>
<a-card :bordered="false">
<div class="table-page-search-wrapper">
<search ref="searchRef"
:searchQueryList="searchQueryList"
:flag="'1'"
:isDefault="true"
:url="url"/>
</div>
<div class="table-operator">
<div @click="handleCompare" class="operator-text">
<a-icon type="rocket" :rotate="45"/>
{{$t('Push')}}
</div>
<div @click="handleExport" class="operator-text">
<a-icon type="export" :rotate="-90"/>
{{$t('export')}}
</div>
</div>
<div>
<a-tabs :model="activeTab" @change="callback">
<a-tab-pane :key="$t('ImplementationDate')" :tab="$t('ImplementationDate')">
</a-tab-pane>
<a-tab-pane :key="$t('vehicleInProductionDate')" :tab="$t('vehicleInProductionDate')">
</a-tab-pane>
</a-tabs>
<a-table
ref="table"
size="middle"
:loading="loading"
:pagination="false"
:scroll="{x: '100%'}"
rowKey="id"
:data-source="dataSource"
:row-selection="{ selectedRowKeys: selectedRowKeys, onChange: onSelectChange }"
:columns="columns"
>
</a-table>
<div class="page" v-if="dataSource && dataSource.length > 0">
<a-pagination
:show-total="total => $t('total')+` ${total} `+$t('strip')"
show-quick-jumper
show-size-changer
:page-size.sync="pageSize"
:total="total"
@change="pageOnChange"
@showSizeChange="SizeChange"
/>
</div>
</div>
<libraryPush
:url="url"
ref="libraryPushRef"
@clearSelected="clearSelected"
/>
</a-card>
</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'
export default {
name: 'index',
components: {
search,
libraryPush
},
data() {
return {
//url传参严格按照当前命名
url: {
seachList: 'document/bussDocumentLibraryEO/queryCondition' //搜索字段
},
activeTab: this.$t('ImplementationDate'),
loading: false,
dataSource: [],
selectedRowKeys: [],
total: 0,
pageSize: 10,
pageNo: 1,
searchQueryList: [
{
field_show_type: 6,
db_field_txt: this.$t('warningTime'),
db_field_name: 'warningTime'
}
],
columnsAll: [
{
title: this.$t('standard'),
align: 'center',
dataIndex: 'serial_number',
width: 170,
scopedSlots: { customRender: 'serial_number' }
},
{
title: this.$t('title'),
align: 'center',
dataIndex: 'title',
width: 170,
scopedSlots: { customRender: 'titleName' }
},
{
title: this.$t('status'),
align: 'center',
width: 140,
ellipsis: true,
dataIndex: 'state'
},
{
title: this.$t('zoneOfApplication'),
align: 'center',
width: 170,
ellipsis: true,
dataIndex: 'region'
},
{
title: this.$t('technicalField'),
align: 'center',
ellipsis: true,
width: 170,
dataIndex: 'technology_territory'
},
{
title: this.$t('vehicleInProductionDate'),
align: 'center',
ellipsis: true,
width: 210,
dataIndex: 'implement_time'
},
{
title: this.$t('ImplementationDate'),
align: 'center',
ellipsis: true,
width: 210,
dataIndex: 'xin1_che1_xing2_shi2_shi1_ri4_qi1'
}
]
}
},
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
}
},
mounted() {
eventBUs.$on('searchQuery', search => {
Object.keys(search).forEach(res => {
if (search[res] instanceof Array) {
search[res] = search[res].join(',')
}
})
this.searchParmes = search
this.getList()
})
eventBUs.$on('searchReset', target => {
this.searchParmes = {}
this.getList()
})
},
methods: {
callback(tab) {
this.activeTab = tab
},
onSelectChange(value) {
this.selectedRowKeys = value
},
handleCompare() {
},
handleExport() {
},
clearSelected() {
},
pageOnChange() {
},
SizeChange() {
},
getList() {
}
}
}
</script>
<style scoped lang="less">
@import '~@assets/less/common.less';
.page {
text-align: right;
margin-top: 20px;
}
</style>