Merge branch 'master' into dev_2nd_LCYH
# Conflicts: # jero-boot/jero-boot-modules/src/main/java/com/jero/modules/cert/collect/service/impl/ParamsCollectManifestEOServiceImpl.java # jero-boot/jero-boot-modules/src/main/java/com/jero/modules/document/service/impl/BussDocumentLibraryEOServiceImpl.java # jero-web/src/common/lang/en-us.js # jero-web/src/common/lang/zh-cn.js # jero-web/src/views/documentTools/virtualList/components/virtualListDetails.vue # jero-web/src/views/projectManagement/components/ParameterItemCollectionList.vue # jero-web/src/views/toDoCenter/projectRegulationTasks/components/SentList.vue # jero-web/src/views/toDoCenter/projectRegulationTasks/components/dealtWith.vue # jero-web/src/views/toDoCenter/projectRegulationTasks/components/doneList.vue
This commit is contained in:
@@ -1250,9 +1250,9 @@ module.exports = {
|
||||
dre: 'Dre',
|
||||
applicableInstructionsMarketList: 'Applicable instructions of market list',
|
||||
pleaseSelectTheDataCompared: 'Please select the data to be compared',
|
||||
problemLabel: 'Topic Tag',
|
||||
problemLabel: 'classification',
|
||||
personCharge: 'Person in charge',
|
||||
addLabel: 'Add Tag',
|
||||
addLabel: 'New Classification',
|
||||
editLabel: 'Edit Label',
|
||||
applicableMarket: 'Applicable Market',
|
||||
templateMaintenance: 'Template Maintenance',
|
||||
@@ -1393,6 +1393,8 @@ module.exports = {
|
||||
beforedate:'In... Before date',
|
||||
beforedatein:'In... Before date (inclusive)',
|
||||
inRecentMonthsin6:'Within 6 months (implemented)',
|
||||
batchUpdateDeadline:'Batch update deadline',
|
||||
timeInterval:'Time Interval',
|
||||
certificationList:'Certification List',
|
||||
inspectionItems:'Inspection Items',
|
||||
processReset:'Process Reset',
|
||||
|
||||
@@ -1352,9 +1352,9 @@ module.exports = {
|
||||
dre: '填写人',
|
||||
applicableInstructionsMarketList: '市场清单适用说明',
|
||||
pleaseSelectTheDataCompared: '请选择需要对比的数据',
|
||||
problemLabel: '问题标签',
|
||||
problemLabel: '分类',
|
||||
personCharge: '负责人',
|
||||
addLabel: '新增标签',
|
||||
addLabel: '新增分类',
|
||||
editLabel: '编辑标签',
|
||||
applicableMarket: '适用市场',
|
||||
templateMaintenance: '模板维护',
|
||||
@@ -1494,6 +1494,8 @@ module.exports = {
|
||||
beforedate:'在...日期之前',
|
||||
beforedatein:'在...日期之前(包含)',
|
||||
inRecentMonthsin6:'近6个月内(已实施)',
|
||||
batchUpdateDeadline:'批量更新截止时间',
|
||||
timeInterval:'时间区间',
|
||||
certificationList:'认证清单',
|
||||
inspectionItems:'检验项目',
|
||||
processReset:'流程重置',
|
||||
|
||||
@@ -83,6 +83,7 @@
|
||||
visible: false,
|
||||
confirmLoading: false,
|
||||
selectedRowKeys: [],
|
||||
selectedRowList: [],
|
||||
content: [],
|
||||
loading: false,
|
||||
queryParam: {},
|
||||
@@ -149,16 +150,17 @@
|
||||
this.visible = false
|
||||
},
|
||||
handleSubmit() {
|
||||
let content = []
|
||||
// let replace_standard_id = []
|
||||
let serial_number = []
|
||||
let replace_standard_id = []
|
||||
if (this.selectedRowKeys && this.selectedRowKeys.length > 0) {
|
||||
let content = JSON.parse(JSON.stringify(this.selectedRowKeys))
|
||||
// this.content.forEach(res => {
|
||||
// content.push(res.serial_number)
|
||||
// replace_standard_id.push(res.id)
|
||||
// })
|
||||
this.$emit('input', content.join(','))
|
||||
// this.$emit('change', this.query.db_field_name, replace_standard_id.join(','))
|
||||
// let content = JSON.parse(JSON.stringify(this.selectedRowList))
|
||||
this.selectedRowList.forEach(res => {
|
||||
serial_number.push(res.serial_number)
|
||||
replace_standard_id.push(res.id)
|
||||
})
|
||||
this.$emit('input', serial_number.join(','))
|
||||
console.log(replace_standard_id)
|
||||
this.$emit('change', this.query.db_field_name, replace_standard_id.join(','))
|
||||
// this.$emit('changecontent', this.content)
|
||||
this.visible = false
|
||||
} else {
|
||||
@@ -168,9 +170,11 @@
|
||||
indexclick(event) {
|
||||
this.$emit('input', event.target.value)
|
||||
},
|
||||
onSelectChange(value) {
|
||||
onSelectChange(value,row) {
|
||||
console.log(value)
|
||||
console.log(row)
|
||||
this.selectedRowKeys = value
|
||||
this.selectedRowList = row
|
||||
// this.content = []
|
||||
// value.forEach(val => {
|
||||
// this.dataList.forEach((res) => {
|
||||
|
||||
@@ -169,6 +169,7 @@
|
||||
<Standardselection :query="item"
|
||||
:disabled="disabled"
|
||||
:standard="formInline"
|
||||
@change="StandardselectionChange"
|
||||
v-model="formInline[item.db_field_name]"/>
|
||||
</a-form-model-item>
|
||||
</div>
|
||||
@@ -832,10 +833,11 @@
|
||||
this.type = 'add'
|
||||
this.getForm()
|
||||
},
|
||||
// StandardselectionChange(value, id) {
|
||||
// this.formInline[value + '_id'] = id
|
||||
// this.formInline = { ...this.formInline }
|
||||
// },
|
||||
StandardselectionChange(value, id) {
|
||||
console.log(id)
|
||||
this.formInline[value + '_id'] = id
|
||||
this.formInline = { ...this.formInline }
|
||||
},
|
||||
PersonnelSelectionChange(value, id) {
|
||||
this.formInline[value + '_id'] = id
|
||||
this.formInline = { ...this.formInline }
|
||||
|
||||
+11
-11
@@ -31,17 +31,17 @@
|
||||
v-model="queryParam.title"></a-input>
|
||||
</div>
|
||||
</a-col>
|
||||
<a-col :md="12" :sm="8">
|
||||
<div class="box-title-text">
|
||||
<div class="title-text" :title="$t('status')">
|
||||
<span>{{$t('status')}}</span>
|
||||
</div>
|
||||
<j-dict-select-tag class="box-input" v-model="queryParam.state"
|
||||
:placeholder="$t('PleaseSelect')+$t('status')"
|
||||
:type="'select'"
|
||||
:triggerChange="false" :dictCode="'state'"/>
|
||||
</div>
|
||||
</a-col>
|
||||
<!-- <a-col :md="12" :sm="8">-->
|
||||
<!-- <div class="box-title-text">-->
|
||||
<!-- <div class="title-text" :title="$t('status')">-->
|
||||
<!-- <span>{{$t('status')}}</span>-->
|
||||
<!-- </div>-->
|
||||
<!-- <j-dict-select-tag class="box-input" v-model="queryParam.state"-->
|
||||
<!-- :placeholder="$t('PleaseSelect')+$t('status')"-->
|
||||
<!-- :type="'select'"-->
|
||||
<!-- :triggerChange="false" :dictCode="'state'"/>-->
|
||||
<!-- </div>-->
|
||||
<!-- </a-col>-->
|
||||
</template>
|
||||
<span style="float: right;overflow: hidden;" class="table-page-search-submitButtons">
|
||||
<a-col :md="12" :sm="24">
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
<template>
|
||||
<div class="box">
|
||||
<div class="search-text-title">
|
||||
<span>{{$t('searchScope')}}:</span>
|
||||
<span>{{ $t('searchScope') }}:</span>
|
||||
<span>{{ queryParam.selectValue }}</span>
|
||||
</div>
|
||||
<a-checkbox-group v-model="checkboxText" v-if="conList.length > 0">
|
||||
@@ -18,7 +18,7 @@
|
||||
<span class="text-header-text" style="cursor: pointer" v-html="item.module_type"></span>
|
||||
</a-tooltip>
|
||||
<a-tooltip placement="topLeft" overlayClassName="tooltip-index" :mouseEnterDelay="0.5">
|
||||
<template slot="title">
|
||||
<template slot="title">
|
||||
<span v-html="item.serial_number"></span>
|
||||
</template>
|
||||
<span style="cursor: pointer"
|
||||
@@ -27,16 +27,17 @@
|
||||
v-html="item.serial_number"></span>
|
||||
</a-tooltip>
|
||||
<a-tooltip placement="topLeft" overlayClassName="tooltip-index" :mouseEnterDelay="0.5">
|
||||
<template slot="title">
|
||||
<template slot="title">
|
||||
<span v-html="item.title"></span>
|
||||
</template>
|
||||
<span class="text-header-text" v-if="item.title" style="cursor: pointer" v-html="item.title"></span>
|
||||
</a-tooltip>
|
||||
<a-tooltip placement="topLeft" overlayClassName="tooltip-index" :mouseEnterDelay="0.5">
|
||||
<template slot="title">
|
||||
<template slot="title">
|
||||
<span v-html="item.file_name"></span>
|
||||
</template>
|
||||
<span class="text-header-text" v-if="item.file_name && item.module_type_flag == 'WDK'" style="cursor: pointer"
|
||||
<span class="text-header-text" v-if="item.file_name && item.module_type_flag == 'WDK'"
|
||||
style="cursor: pointer"
|
||||
v-html="item.file_name"></span>
|
||||
</a-tooltip>
|
||||
<!-- <a-tooltip placement="topLeft" :mouseEnterDelay="0.5">-->
|
||||
@@ -106,286 +107,288 @@
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import { getAction, postAction, downloadFile } from '@/api/manage'
|
||||
import { Base64 } from 'js-base64'
|
||||
import { mapGetters } from 'vuex'
|
||||
import { getAction, postAction, downloadFile } from '@/api/manage'
|
||||
import { Base64 } from 'js-base64'
|
||||
import { mapGetters } from 'vuex'
|
||||
|
||||
export default {
|
||||
name: 'whole',
|
||||
data() {
|
||||
return {
|
||||
checkboxText: [],
|
||||
url: {
|
||||
getInfoList: 'search/document/getFullTextInfoList'
|
||||
},
|
||||
conList: [],
|
||||
total: 0,
|
||||
pageSize: 10,
|
||||
downLoadFileUrl: window._CONFIG['domianPreviewURL'] + '/sys/common/download',
|
||||
downLoadImgUrl: window._CONFIG['domianWebImgURL'] + '/sys/common/download',
|
||||
pageNo: 1,
|
||||
queryParam: {}
|
||||
}
|
||||
},
|
||||
watch: {
|
||||
checkboxText: function(value) {
|
||||
export default {
|
||||
name: 'whole',
|
||||
data() {
|
||||
return {
|
||||
checkboxText: [],
|
||||
url: {
|
||||
getInfoList: 'search/document/getFullTextInfoList'
|
||||
},
|
||||
conList: [],
|
||||
total: 0,
|
||||
pageSize: 10,
|
||||
downLoadFileUrl: window._CONFIG['domianPreviewURL'] + '/sys/common/download',
|
||||
downLoadImgUrl: window._CONFIG['domianWebImgURL'] + '/sys/common/download',
|
||||
pageNo: 1,
|
||||
queryParam: {}
|
||||
}
|
||||
},
|
||||
watch: {
|
||||
checkboxText: function(value) {
|
||||
this.conList.forEach(val => {
|
||||
val.checked = false
|
||||
})
|
||||
if (value.length > 0) {
|
||||
this.conList.forEach(val => {
|
||||
val.checked = false
|
||||
})
|
||||
if (value.length > 0) {
|
||||
this.conList.forEach(val => {
|
||||
value.forEach(res => {
|
||||
if (res === val.id) {
|
||||
val.checked = true
|
||||
}
|
||||
})
|
||||
value.forEach(res => {
|
||||
if (res === val.id) {
|
||||
val.checked = true
|
||||
}
|
||||
})
|
||||
}
|
||||
this.conList = [...this.conList]
|
||||
})
|
||||
}
|
||||
this.conList = [...this.conList]
|
||||
}
|
||||
},
|
||||
mounted() {
|
||||
this.conList = []
|
||||
// if (!this.queryParam.selectValue) {
|
||||
// this.getList()
|
||||
// }
|
||||
},
|
||||
methods: {
|
||||
...mapGetters(['userInfo']),
|
||||
checkedClick(item) {
|
||||
if (item.checked) {
|
||||
this.checkboxText = this.checkboxText.filter(res => {
|
||||
return res !== item.id
|
||||
})
|
||||
} else {
|
||||
this.checkboxText.push(item.id)
|
||||
}
|
||||
},
|
||||
mounted() {
|
||||
this.conList = []
|
||||
// if (!this.queryParam.selectValue) {
|
||||
// this.getList()
|
||||
// }
|
||||
ResetSearch() {
|
||||
this.pageNo = 1
|
||||
this.checkboxText = []
|
||||
this.queryParam = {}
|
||||
this.getList()
|
||||
},
|
||||
methods: {
|
||||
...mapGetters(['userInfo']),
|
||||
checkedClick(item) {
|
||||
if (item.checked) {
|
||||
this.checkboxText = this.checkboxText.filter(res => {
|
||||
return res !== item.id
|
||||
})
|
||||
} else {
|
||||
this.checkboxText.push(item.id)
|
||||
fileClick(fileQuery) {
|
||||
let fileName = fileQuery.file_name
|
||||
let index1 = fileName.lastIndexOf('.')
|
||||
let index2 = fileName.length
|
||||
let fileSuffix = fileName.substring(index1, index2)
|
||||
if (fileSuffix == '.pdf') {
|
||||
window.open('/pdf/web/viewer.html?file=' + encodeURIComponent('/jero-boot/sys/common/pdf/viewFile?id=' + fileQuery.id.slice(0, 32) + '&userName=' + this.userInfo().username))
|
||||
} else if (fileSuffix == '.docx' || fileSuffix == '.doc') {
|
||||
let url = window._CONFIG['onlinePreviewDomainURL'] + '?url=' + Base64.encode(this.downLoadFileUrl + '/' + fileQuery.id.slice(0, 32) + fileSuffix)
|
||||
window.open(url, '_blank')
|
||||
} else if (fileSuffix == '.xlsx' || fileSuffix == '.xls') {
|
||||
let url = window._CONFIG['onlinePreviewDomainURL'] + '?url=' + Base64.encode(this.downLoadFileUrl + '/' + fileQuery.id.slice(0, 32) + fileSuffix)
|
||||
window.open(url, '_blank')
|
||||
} else if (fileSuffix == '.png' || fileSuffix == '.jpeg' || fileSuffix == '.gif' || fileSuffix == '.jpg') {
|
||||
let url = window._CONFIG['onlinePreviewDomainURL'] + '?url=' + Base64.encode(this.downLoadImgUrl + '/' + fileQuery.id.slice(0, 32) + fileSuffix)
|
||||
window.open(url, '_blank')
|
||||
} else {
|
||||
downloadFile('/sys/common/downLoadFile', fileQuery.file_name, { id: fileQuery.id.slice(0, 32) })
|
||||
}
|
||||
},
|
||||
pageOnChange(page, pageSize) {
|
||||
this.pageNo = page
|
||||
this.getList()
|
||||
},
|
||||
SizeChange(page, pageSize) {
|
||||
this.pageNo = 1
|
||||
this.pageSize = pageSize
|
||||
this.getList()
|
||||
},
|
||||
searchData(value) {
|
||||
this.queryParam.selectValue = value || undefined
|
||||
this.queryParam.selectValueTwo = undefined
|
||||
this.getList()
|
||||
},
|
||||
searchDataTwo(value) {
|
||||
this.queryParam.selectValueTwo = value
|
||||
this.getList()
|
||||
},
|
||||
getText(str) {
|
||||
let words = str.replace(/<[^<>]+>/g, '').replace(/ /gi, '') //这里是去除标签
|
||||
//.replace(/\s/g, '') //这里是去除空格
|
||||
return words
|
||||
},
|
||||
getList() {
|
||||
let queryParam = JSON.parse(JSON.stringify(this.queryParam))
|
||||
Object.keys(queryParam).forEach(val => {
|
||||
if (queryParam[val] instanceof Array) {
|
||||
queryParam[val] = queryParam[val].join(',')
|
||||
}
|
||||
},
|
||||
ResetSearch() {
|
||||
this.pageNo = 1
|
||||
this.checkboxText = []
|
||||
this.queryParam = {}
|
||||
this.getList()
|
||||
},
|
||||
fileClick(fileQuery) {
|
||||
let fileName = fileQuery.file_name
|
||||
let index1 = fileName.lastIndexOf('.')
|
||||
let index2 = fileName.length
|
||||
let fileSuffix = fileName.substring(index1, index2)
|
||||
if (fileSuffix == '.pdf') {
|
||||
window.open('/pdf/web/viewer.html?file=' + encodeURIComponent('/jero-boot/sys/common/pdf/viewFile?id=' + fileQuery.id.slice(0, 32) + '&userName=' + this.userInfo().username))
|
||||
} else if (fileSuffix == '.docx' || fileSuffix == '.doc') {
|
||||
let url = window._CONFIG['onlinePreviewDomainURL'] + '?url=' + Base64.encode(this.downLoadFileUrl + '/' + fileQuery.id.slice(0, 32) + fileSuffix)
|
||||
window.open(url, '_blank')
|
||||
} else if (fileSuffix == '.xlsx' || fileSuffix == '.xls') {
|
||||
let url = window._CONFIG['onlinePreviewDomainURL'] + '?url=' + Base64.encode(this.downLoadFileUrl + '/' + fileQuery.id.slice(0, 32) + fileSuffix)
|
||||
window.open(url, '_blank')
|
||||
}else if(fileSuffix == '.png' || fileSuffix == '.jpeg' || fileSuffix == '.gif' || fileSuffix == '.jpg'){
|
||||
let url = window._CONFIG['onlinePreviewDomainURL'] + '?url=' + Base64.encode(this.downLoadImgUrl + '/' + fileQuery.id.slice(0, 32) + fileSuffix)
|
||||
window.open(url, '_blank')
|
||||
})
|
||||
let checkboxText = JSON.parse(JSON.stringify(this.checkboxText))
|
||||
let query = {
|
||||
pageNo: this.pageNo,
|
||||
pageSize: this.pageSize,
|
||||
ids: checkboxText.join(','),
|
||||
...queryParam
|
||||
}
|
||||
postAction(this.url.getInfoList, query).then((res) => {
|
||||
if (res.success) {
|
||||
this.conList = res.result.records
|
||||
if (this.conList && this.conList.length > 0) {
|
||||
this.conList.forEach(val => {
|
||||
val.content = val.content.replace(/<img .*?>/g, '')
|
||||
val.content = val.content.replace(/<\/?p[^>]*>/gi, '')
|
||||
})
|
||||
}
|
||||
this.total = res.result.total
|
||||
} else {
|
||||
downloadFile('/sys/common/downLoadFile', fileQuery.file_name, { id: fileQuery.id.slice(0, 32) })
|
||||
this.conList = []
|
||||
}
|
||||
},
|
||||
pageOnChange(page, pageSize) {
|
||||
this.pageNo = page
|
||||
this.getList()
|
||||
},
|
||||
SizeChange(page, pageSize) {
|
||||
this.pageNo = 1
|
||||
this.pageSize = pageSize
|
||||
this.getList()
|
||||
},
|
||||
searchData(value) {
|
||||
this.queryParam.selectValue = value || undefined
|
||||
this.queryParam.selectValueTwo = undefined
|
||||
this.getList()
|
||||
},
|
||||
searchDataTwo(value) {
|
||||
this.queryParam.selectValueTwo = value
|
||||
this.getList()
|
||||
},
|
||||
getText(str) {
|
||||
let words = str.replace(/<[^<>]+>/g, '').replace(/ /gi, '') //这里是去除标签
|
||||
//.replace(/\s/g, '') //这里是去除空格
|
||||
return words
|
||||
},
|
||||
getList() {
|
||||
let queryParam = JSON.parse(JSON.stringify(this.queryParam))
|
||||
Object.keys(queryParam).forEach(val => {
|
||||
if (queryParam[val] instanceof Array) {
|
||||
queryParam[val] = queryParam[val].join(',')
|
||||
})
|
||||
},
|
||||
monthlyReportClick(item) {
|
||||
let fileName = item.file_name
|
||||
let index1 = fileName.lastIndexOf('.')
|
||||
let index2 = fileName.length
|
||||
let fileSuffix = fileName.substring(index1, index2)
|
||||
if (fileSuffix == '.pdf') {
|
||||
window.open('/pdf/web/viewer.html?file=' + encodeURIComponent('/jero-boot/sys/common/pdf/viewFile?id=' + item.file_id + '&userName=' + this.userInfo().username))
|
||||
} else if (fileSuffix == '.docx' || fileSuffix == '.doc') {
|
||||
let url = window._CONFIG['onlinePreviewDomainURL'] + '?url=' + Base64.encode(this.downLoadFileUrl + '/' + item.file_id + fileSuffix)
|
||||
window.open(url, '_blank')
|
||||
} else if (fileSuffix == '.xlsx' || fileSuffix == '.xls') {
|
||||
let url = window._CONFIG['onlinePreviewDomainURL'] + '?url=' + Base64.encode(this.downLoadFileUrl + '/' + item.file_id + fileSuffix)
|
||||
window.open(url, '_blank')
|
||||
} else if (fileSuffix == '.png' || fileSuffix == '.jpeg' || fileSuffix == '.gif' || fileSuffix == '.jpg') {
|
||||
let url = window._CONFIG['onlinePreviewDomainURL'] + '?url=' + Base64.encode(this.downLoadImgUrl + '/' + item.file_id + fileSuffix)
|
||||
window.open(url, '_blank')
|
||||
}
|
||||
},
|
||||
titleClick(item) {
|
||||
if (item.module_type_flag == 'FGYB') {
|
||||
this.monthlyReportClick(item)
|
||||
} else if (item.module_type_flag == 'WTZSK') {
|
||||
let id = item.id.replace('base','')
|
||||
this.$router.push({
|
||||
path: '/problemknowledgeBase',
|
||||
query: {
|
||||
id: id
|
||||
}
|
||||
})
|
||||
let checkboxText = JSON.parse(JSON.stringify(this.checkboxText))
|
||||
let query = {
|
||||
pageNo: this.pageNo,
|
||||
pageSize: this.pageSize,
|
||||
ids: checkboxText.join(','),
|
||||
...queryParam
|
||||
}
|
||||
postAction(this.url.getInfoList, query).then((res) => {
|
||||
if (res.success) {
|
||||
this.conList = res.result.records
|
||||
if (this.conList && this.conList.length > 0) {
|
||||
this.conList.forEach(val => {
|
||||
val.content = val.content.replace(/<img .*?>/g, '')
|
||||
val.content = val.content.replace(/<\/?p[^>]*>/gi,'')
|
||||
})
|
||||
}
|
||||
this.total = res.result.total
|
||||
} else {
|
||||
this.conList = []
|
||||
} else {
|
||||
let newUrl = this.$router.resolve({
|
||||
path: '/docManage/library/detail',
|
||||
query: {
|
||||
id: item.id.slice(0, 32),
|
||||
title: item.title,
|
||||
serial_number: item.serial_number
|
||||
}
|
||||
})
|
||||
},
|
||||
monthlyReportClick(item) {
|
||||
let fileName = item.file_name
|
||||
let index1 = fileName.lastIndexOf('.')
|
||||
let index2 = fileName.length
|
||||
let fileSuffix = fileName.substring(index1, index2)
|
||||
if (fileSuffix == '.pdf') {
|
||||
window.open('/pdf/web/viewer.html?file=' + encodeURIComponent('/jero-boot/sys/common/pdf/viewFile?id=' + item.file_id + '&userName=' + this.userInfo().username))
|
||||
} else if (fileSuffix == '.docx' || fileSuffix == '.doc') {
|
||||
let url = window._CONFIG['onlinePreviewDomainURL'] + '?url=' + Base64.encode(this.downLoadFileUrl + '/' + item.file_id + fileSuffix)
|
||||
window.open(url, '_blank')
|
||||
} else if (fileSuffix == '.xlsx' || fileSuffix == '.xls') {
|
||||
let url = window._CONFIG['onlinePreviewDomainURL'] + '?url=' + Base64.encode(this.downLoadFileUrl + '/' + item.file_id + fileSuffix)
|
||||
window.open(url, '_blank')
|
||||
}else if(fileSuffix == '.png' || fileSuffix == '.jpeg' || fileSuffix == '.gif' || fileSuffix == '.jpg'){
|
||||
let url = window._CONFIG['onlinePreviewDomainURL'] + '?url=' + Base64.encode(this.downLoadImgUrl + '/' + item.file_id + fileSuffix)
|
||||
window.open(url, '_blank')
|
||||
}
|
||||
},
|
||||
titleClick(item) {
|
||||
if (item.module_type_flag == 'FGYB') {
|
||||
this.monthlyReportClick(item)
|
||||
} else if (item.module_type_flag == 'WTZSK') {
|
||||
let newUrl = this.$router.resolve({
|
||||
path: '/problemKnowledgeBaseView',
|
||||
query: {
|
||||
id: item.id
|
||||
}
|
||||
})
|
||||
window.open(newUrl.href, '_blank')
|
||||
} else {
|
||||
let newUrl = this.$router.resolve({
|
||||
path: '/docManage/library/detail',
|
||||
query: {
|
||||
id: item.id.slice(0, 32),
|
||||
title: item.title,
|
||||
serial_number: item.serial_number
|
||||
}
|
||||
})
|
||||
window.open(newUrl.href, '_blank')
|
||||
}
|
||||
window.open(newUrl.href, '_blank')
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
</script>
|
||||
<style lang="less">
|
||||
.highlight-class {
|
||||
color: #21c9cc;
|
||||
}
|
||||
.highlight-class {
|
||||
color: #21c9cc;
|
||||
}
|
||||
|
||||
.tooltip-index {
|
||||
max-width: calc(100% - 300px) !important;
|
||||
.ant-tooltip-inner {
|
||||
.tooltip-index {
|
||||
max-width: calc(100% - 300px) !important;
|
||||
|
||||
.ant-tooltip-inner {
|
||||
color: #333;
|
||||
background-color: #fff !important;
|
||||
}
|
||||
.ant-tooltip-arrow::before {
|
||||
background-color: #fff;
|
||||
}
|
||||
}
|
||||
|
||||
.ant-tooltip-arrow::before {
|
||||
background-color: #fff;
|
||||
}
|
||||
}
|
||||
</style>
|
||||
<style scoped lang="less">
|
||||
|
||||
.box {
|
||||
padding: 0 0 0 18px;
|
||||
box-sizing: border-box;
|
||||
}
|
||||
.box {
|
||||
padding: 0 0 0 18px;
|
||||
box-sizing: border-box;
|
||||
}
|
||||
|
||||
.checkbox-left {
|
||||
float: left;
|
||||
position: absolute;
|
||||
left: 0;
|
||||
top: 50%;
|
||||
transform: translateY(-50%);
|
||||
}
|
||||
.checkbox-left {
|
||||
float: left;
|
||||
position: absolute;
|
||||
left: 0;
|
||||
top: 50%;
|
||||
transform: translateY(-50%);
|
||||
}
|
||||
|
||||
.text-text-right {
|
||||
padding: 19px 28px;
|
||||
box-sizing: border-box;
|
||||
margin-left: 38px;
|
||||
cursor: pointer;
|
||||
}
|
||||
.text-text-right {
|
||||
padding: 19px 28px;
|
||||
box-sizing: border-box;
|
||||
margin-left: 38px;
|
||||
cursor: pointer;
|
||||
}
|
||||
|
||||
.null-input {
|
||||
background-color: #F2F4F8;
|
||||
}
|
||||
.null-input {
|
||||
background-color: #F2F4F8;
|
||||
}
|
||||
|
||||
.search-text-title {
|
||||
margin-bottom: 22px;
|
||||
}
|
||||
.search-text-title {
|
||||
margin-bottom: 22px;
|
||||
}
|
||||
|
||||
.text-header {
|
||||
margin-bottom: 11px;
|
||||
.text-header {
|
||||
margin-bottom: 11px;
|
||||
|
||||
.text-header-text {
|
||||
margin-right: 52px;
|
||||
font-size: 16px;
|
||||
font-weight: bold;
|
||||
color: #040B29;
|
||||
display: inline-block;
|
||||
max-width: 220px;
|
||||
text-overflow: ellipsis;
|
||||
white-space: nowrap;
|
||||
overflow: hidden;
|
||||
}
|
||||
|
||||
/*span {*/
|
||||
/* margin-right: 52px;*/
|
||||
/* font-size: 16px;*/
|
||||
/* font-weight: bold;*/
|
||||
/* color: #040B29;*/
|
||||
/* display: inline-block;*/
|
||||
/* max-width: 500px;*/
|
||||
/* text-overflow: ellipsis;*/
|
||||
/* white-space: nowrap;*/
|
||||
/* overflow: hidden;*/
|
||||
/*}*/
|
||||
}
|
||||
|
||||
.text-content {
|
||||
font-size: 14px;
|
||||
font-weight: 400;
|
||||
.text-header-text {
|
||||
margin-right: 52px;
|
||||
font-size: 16px;
|
||||
font-weight: bold;
|
||||
color: #040B29;
|
||||
opacity: 0.7;
|
||||
overflow: hidden;
|
||||
display: -webkit-box;
|
||||
display: inline-block;
|
||||
max-width: 220px;
|
||||
text-overflow: ellipsis;
|
||||
/*! autoprefixer: off */
|
||||
-webkit-box-orient: vertical;
|
||||
-webkit-line-clamp: 4;
|
||||
/*! autoprefixer: on;*/
|
||||
text-justify: inter-ideograph;
|
||||
word-break: break-all
|
||||
white-space: nowrap;
|
||||
overflow: hidden;
|
||||
}
|
||||
|
||||
.page {
|
||||
text-align: right;
|
||||
margin-top: 20px;
|
||||
}
|
||||
/*span {*/
|
||||
/* margin-right: 52px;*/
|
||||
/* font-size: 16px;*/
|
||||
/* font-weight: bold;*/
|
||||
/* color: #040B29;*/
|
||||
/* display: inline-block;*/
|
||||
/* max-width: 500px;*/
|
||||
/* text-overflow: ellipsis;*/
|
||||
/* white-space: nowrap;*/
|
||||
/* overflow: hidden;*/
|
||||
/*}*/
|
||||
}
|
||||
|
||||
.noData {
|
||||
width: 100%;
|
||||
text-align: center;
|
||||
line-height: 10;
|
||||
}
|
||||
.text-content {
|
||||
font-size: 14px;
|
||||
font-weight: 400;
|
||||
color: #040B29;
|
||||
opacity: 0.7;
|
||||
overflow: hidden;
|
||||
display: -webkit-box;
|
||||
text-overflow: ellipsis;
|
||||
/*! autoprefixer: off */
|
||||
-webkit-box-orient: vertical;
|
||||
-webkit-line-clamp: 4;
|
||||
/*! autoprefixer: on;*/
|
||||
text-justify: inter-ideograph;
|
||||
word-break: break-all
|
||||
}
|
||||
|
||||
::v-deep p {
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
}
|
||||
.page {
|
||||
text-align: right;
|
||||
margin-top: 20px;
|
||||
}
|
||||
|
||||
.noData {
|
||||
width: 100%;
|
||||
text-align: center;
|
||||
line-height: 10;
|
||||
}
|
||||
|
||||
::v-deep p {
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
}
|
||||
</style>
|
||||
@@ -143,10 +143,10 @@
|
||||
:columns="columns"
|
||||
>
|
||||
<span slot="projectName" slot-scope="text,record" :title="text">
|
||||
{{ text && text.length > 20 ? text.slice(0, 18) + '...' : text }}
|
||||
{{ text }}
|
||||
</span>
|
||||
<span slot="fileName" slot-scope="text,record" :title="text">
|
||||
{{ text && text.length > 15 ? text.slice(0, 14) + '...' : text }}
|
||||
{{ text }}
|
||||
</span>
|
||||
|
||||
<span slot="operation" slot-scope="text,record">
|
||||
@@ -382,6 +382,7 @@
|
||||
{
|
||||
title: this.$t('fileName'),
|
||||
align: 'left',
|
||||
ellipsis: true,
|
||||
dataIndex: 'fileName',
|
||||
scopedSlots: { customRender: 'fileName' },
|
||||
width: 200
|
||||
@@ -389,6 +390,7 @@
|
||||
{
|
||||
title: this.$t('fileDeclaration'),
|
||||
align: 'left',
|
||||
ellipsis: true,
|
||||
dataIndex: 'fileDescription',
|
||||
scopedSlots: { customRender: 'projectName' },
|
||||
width: 300
|
||||
@@ -396,6 +398,7 @@
|
||||
{
|
||||
title: this.$t('uploadedBy'),
|
||||
align: 'left',
|
||||
ellipsis: true,
|
||||
dataIndex: 'createBy',
|
||||
width: 150
|
||||
},
|
||||
@@ -407,6 +410,7 @@
|
||||
{
|
||||
title: this.$t('uploadTime'),
|
||||
align: 'left',
|
||||
ellipsis: true,
|
||||
dataIndex: 'createTime',
|
||||
width: 250
|
||||
},
|
||||
@@ -414,6 +418,7 @@
|
||||
title: this.$t('operation'),
|
||||
align: 'left',
|
||||
fixed: 'right',
|
||||
ellipsis: true,
|
||||
width: 250,
|
||||
scopedSlots: { customRender: 'operation' }
|
||||
}
|
||||
@@ -1123,7 +1128,7 @@
|
||||
</script>
|
||||
|
||||
<style lang="less" scoped>
|
||||
@import '~@assets/less/common.less';
|
||||
@import'~@assets/less/common.less';
|
||||
|
||||
::v-deep .ant-table-row:first-child {
|
||||
background: #fff !important;
|
||||
|
||||
@@ -44,17 +44,17 @@
|
||||
:triggerChange="false" :dictCode="'duty_territory'"/>
|
||||
</div>
|
||||
</a-col>
|
||||
<!-- <a-col :md="6" :sm="8">-->
|
||||
<!-- <div class="box-title-text">-->
|
||||
<!-- <div class="title-text" :title="$t('certificationCategory')">-->
|
||||
<!-- <span>{{$t('certificationCategory')}}</span>-->
|
||||
<!-- </div>-->
|
||||
<!-- <j-dict-select-tag class="box-input" v-model="formInline.certCategory"-->
|
||||
<!-- :placeholder="$t('PleaseSelect')+$t('certificationCategory')"-->
|
||||
<!-- :type="'select'"-->
|
||||
<!-- :triggerChange="false" :dictCode="'cert_category'"/>-->
|
||||
<!-- </div>-->
|
||||
<!-- </a-col>-->
|
||||
<!-- <a-col :md="6" :sm="8">-->
|
||||
<!-- <div class="box-title-text">-->
|
||||
<!-- <div class="title-text" :title="$t('certificationCategory')">-->
|
||||
<!-- <span>{{$t('certificationCategory')}}</span>-->
|
||||
<!-- </div>-->
|
||||
<!-- <j-dict-select-tag class="box-input" v-model="formInline.certCategory"-->
|
||||
<!-- :placeholder="$t('PleaseSelect')+$t('certificationCategory')"-->
|
||||
<!-- :type="'select'"-->
|
||||
<!-- :triggerChange="false" :dictCode="'cert_category'"/>-->
|
||||
<!-- </div>-->
|
||||
<!-- </a-col>-->
|
||||
<template v-if="toggleSearchStatus">
|
||||
<a-col :md="6" :sm="8">
|
||||
<div class="box-title-text">
|
||||
@@ -202,6 +202,11 @@
|
||||
<a-icon type="copy"/>
|
||||
{{$t('Assignedby')}}
|
||||
</div>
|
||||
<!-- 批量更新截止时间-->
|
||||
<div @click="batchUpdateDeadlineClick" class="operator-text-title" v-if='currentPersonRole == "homo" '>
|
||||
<a-icon type="profile"/>
|
||||
{{$t('batchUpdateDeadline')}}
|
||||
</div>
|
||||
</template>
|
||||
<!-- @click='morepop'-->
|
||||
<div class="operator-text" style="position: relative "
|
||||
@@ -525,6 +530,8 @@
|
||||
</div>
|
||||
</a-modal>
|
||||
<JLoading :loading="textLoading">{{this.$t('pleaseWaitWhileRunning')}}</JLoading>
|
||||
<batchUpdateDeadline ref="batchUpdateDeadlineRef" @batchUpdateDeadlineForm="batchUpdateDeadlineForm"/>
|
||||
|
||||
</div>
|
||||
</template>
|
||||
|
||||
@@ -543,6 +550,7 @@
|
||||
import AssignedBy from '@/components/AssignedBy/index'
|
||||
import AssignedByHomo from '@/components/AssignedByHomo/index'
|
||||
import ImportFileOnlyList from '@/components/ImportFileOnlyListtag/index'
|
||||
import batchUpdateDeadline from './batchUpdateDeadline'
|
||||
import axios from 'axios'
|
||||
import { ACCESS_TOKEN } from '@/store/mutation-types'
|
||||
import Vue from 'vue'
|
||||
@@ -562,7 +570,8 @@
|
||||
ReferenceParameter,
|
||||
SynchronousSubmissionLibrary,
|
||||
TaskTime,
|
||||
globalAdvancedQuery
|
||||
globalAdvancedQuery,
|
||||
batchUpdateDeadline
|
||||
},
|
||||
data() {
|
||||
this.statusList = [
|
||||
@@ -775,8 +784,8 @@
|
||||
NoEngineer: 1, // 下发收集的权限,0为没有接口人 1为由接口人 默认有
|
||||
NotSelectedNoEngineerValue: [],
|
||||
paramsManifest: {},
|
||||
timeBatch:'',
|
||||
timer:'',
|
||||
timeBatch: '',
|
||||
timer: ''
|
||||
}
|
||||
},
|
||||
props: {
|
||||
@@ -788,8 +797,8 @@
|
||||
},
|
||||
mounted() {
|
||||
this.handleClick()
|
||||
window.addEventListener('keyup',this.handleKeyup)
|
||||
window.addEventListener('click',this.handleClick)
|
||||
window.addEventListener('keyup', this.handleKeyup)
|
||||
window.addEventListener('click', this.handleClick)
|
||||
this.GetgetLoginUserType()
|
||||
console.log(this.currentPersonRole)
|
||||
if (this.$route.query.type == '1') {
|
||||
@@ -805,26 +814,26 @@
|
||||
// this.timeBatch = setInterval(() => {
|
||||
// this.handlePreservation();
|
||||
// }, 10000);
|
||||
// this.$nextTick(() => {
|
||||
// var interval = setInterval(this.handlePreservation(),10000);
|
||||
// /* if 5 minutes no operation then logout */
|
||||
// var maxTime = 120; // seconds
|
||||
// var time = maxTime;
|
||||
// $('body').on('keydown mousemove mousedown', function(e) {
|
||||
// time = maxTime; // reset
|
||||
// });
|
||||
// var intervalId = setInterval(function() {
|
||||
// time--;
|
||||
// if (time <= 0) {
|
||||
// ShowInvalidLoginMessage();
|
||||
// clearInterval(intervalId);
|
||||
// }
|
||||
// }, 10000)
|
||||
// function ShowInvalidLoginMessage() {
|
||||
// // 停止定时器
|
||||
// clearInterval(interval);
|
||||
// }
|
||||
// })
|
||||
// this.$nextTick(() => {
|
||||
// var interval = setInterval(this.handlePreservation(),10000);
|
||||
// /* if 5 minutes no operation then logout */
|
||||
// var maxTime = 120; // seconds
|
||||
// var time = maxTime;
|
||||
// $('body').on('keydown mousemove mousedown', function(e) {
|
||||
// time = maxTime; // reset
|
||||
// });
|
||||
// var intervalId = setInterval(function() {
|
||||
// time--;
|
||||
// if (time <= 0) {
|
||||
// ShowInvalidLoginMessage();
|
||||
// clearInterval(intervalId);
|
||||
// }
|
||||
// }, 10000)
|
||||
// function ShowInvalidLoginMessage() {
|
||||
// // 停止定时器
|
||||
// clearInterval(interval);
|
||||
// }
|
||||
// })
|
||||
// }
|
||||
// this.paramsManifest = JSON.parse(localStorage.getItem('paramsManifest'))
|
||||
this.paramsManifest = this.$route.query
|
||||
@@ -833,35 +842,35 @@
|
||||
},
|
||||
methods: {
|
||||
...mapGetters(['userInfo']),
|
||||
handleKeyup(){
|
||||
handleKeyup() {
|
||||
clearTimeout(this.timer)
|
||||
clearTimeout(this.timeBatch)
|
||||
clearTimeout(this.timerOne)
|
||||
this.timer = setTimeout(()=>{
|
||||
this.timer = setTimeout(() => {
|
||||
if (this.currentPersonRole == 'dre') {
|
||||
this.handlePreservation()
|
||||
}
|
||||
},10000)
|
||||
this.timerOne = setTimeout(()=>{
|
||||
}, 10000)
|
||||
this.timerOne = setTimeout(() => {
|
||||
clearTimeout(this.timer)
|
||||
clearTimeout(this.timeBatch)
|
||||
clearTimeout(this.timerOne)
|
||||
},300000)
|
||||
}, 300000)
|
||||
},
|
||||
handleClick(){
|
||||
handleClick() {
|
||||
clearTimeout(this.timer)
|
||||
clearTimeout(this.timeBatch)
|
||||
clearTimeout(this.timerOne)
|
||||
this.timer = setTimeout(()=>{
|
||||
this.timer = setTimeout(() => {
|
||||
if (this.currentPersonRole == 'dre') {
|
||||
this.handlePreservation()
|
||||
}
|
||||
},10000)
|
||||
this.timerOne = setTimeout(()=>{
|
||||
}, 10000)
|
||||
this.timerOne = setTimeout(() => {
|
||||
clearTimeout(this.timer)
|
||||
clearTimeout(this.timeBatch)
|
||||
clearTimeout(this.timerOne)
|
||||
},300000)
|
||||
}, 300000)
|
||||
},
|
||||
|
||||
handleToggleSearch() {
|
||||
@@ -959,24 +968,24 @@
|
||||
// this.timeBatch = setInterval(() => {
|
||||
// this.handlePreservation();
|
||||
// }, 10000);
|
||||
// var interval = setInterval(this.handlePreservation(),10000);
|
||||
// /* if 5 minutes no operation then logout */
|
||||
// var maxTime = 120; // seconds
|
||||
// var time = maxTime;
|
||||
// $('body').on('keydown mousemove mousedown', function(e) {
|
||||
// time = maxTime; // reset
|
||||
// });
|
||||
// var intervalId = setInterval(function() {
|
||||
// time--;
|
||||
// if (time <= 0) {
|
||||
// ShowInvalidLoginMessage();
|
||||
// clearInterval(intervalId);
|
||||
// }
|
||||
// }, 10000)
|
||||
// function ShowInvalidLoginMessage() {
|
||||
// // 停止定时器
|
||||
// clearInterval(interval);
|
||||
// }
|
||||
// var interval = setInterval(this.handlePreservation(),10000);
|
||||
// /* if 5 minutes no operation then logout */
|
||||
// var maxTime = 120; // seconds
|
||||
// var time = maxTime;
|
||||
// $('body').on('keydown mousemove mousedown', function(e) {
|
||||
// time = maxTime; // reset
|
||||
// });
|
||||
// var intervalId = setInterval(function() {
|
||||
// time--;
|
||||
// if (time <= 0) {
|
||||
// ShowInvalidLoginMessage();
|
||||
// clearInterval(intervalId);
|
||||
// }
|
||||
// }, 10000)
|
||||
// function ShowInvalidLoginMessage() {
|
||||
// // 停止定时器
|
||||
// clearInterval(interval);
|
||||
// }
|
||||
// }
|
||||
})
|
||||
},
|
||||
@@ -1754,24 +1763,24 @@
|
||||
// this.timeBatch = setTimeout(() => {
|
||||
// this.handlePreservation();
|
||||
// }, 10000);
|
||||
// var interval = setInterval(this.handlePreservation(),10000);
|
||||
// /* if 5 minutes no operation then logout */
|
||||
// var maxTime = 120; // seconds
|
||||
// var time = maxTime;
|
||||
// $('body').on('keydown mousemove mousedown', function(e) {
|
||||
// time = maxTime; // reset
|
||||
// });
|
||||
// var intervalId = setInterval(function() {
|
||||
// time--;
|
||||
// if (time <= 0) {
|
||||
// ShowInvalidLoginMessage();
|
||||
// clearInterval(intervalId);
|
||||
// }
|
||||
// }, 10000)
|
||||
// function ShowInvalidLoginMessage() {
|
||||
// // 停止定时器
|
||||
// clearInterval(interval);
|
||||
// }
|
||||
// var interval = setInterval(this.handlePreservation(),10000);
|
||||
// /* if 5 minutes no operation then logout */
|
||||
// var maxTime = 120; // seconds
|
||||
// var time = maxTime;
|
||||
// $('body').on('keydown mousemove mousedown', function(e) {
|
||||
// time = maxTime; // reset
|
||||
// });
|
||||
// var intervalId = setInterval(function() {
|
||||
// time--;
|
||||
// if (time <= 0) {
|
||||
// ShowInvalidLoginMessage();
|
||||
// clearInterval(intervalId);
|
||||
// }
|
||||
// }, 10000)
|
||||
// function ShowInvalidLoginMessage() {
|
||||
// // 停止定时器
|
||||
// clearInterval(interval);
|
||||
// }
|
||||
// }
|
||||
} else {
|
||||
if (num && num == 1) {
|
||||
@@ -1918,7 +1927,7 @@
|
||||
this.selectedRowKeysValue.forEach((item, index) => {
|
||||
_array.push(item.id)
|
||||
})
|
||||
if(_array.length == 0){
|
||||
if (_array.length == 0) {
|
||||
return
|
||||
}
|
||||
let _this = this
|
||||
@@ -2047,7 +2056,16 @@
|
||||
this.jurisdiction = 'SDTFPTXRHOMO'
|
||||
}
|
||||
},
|
||||
|
||||
batchUpdateDeadlineClick() {
|
||||
if (this.selectedRowKeysValue && this.selectedRowKeysValue.length > 0) {
|
||||
this.$refs.batchUpdateDeadlineRef.getData(JSON.parse(JSON.stringify(this.selectedRowKeysValue)))
|
||||
} else {
|
||||
this.$message.warning(this.$t('selectLeastOne'))
|
||||
}
|
||||
},
|
||||
batchUpdateDeadlineForm() {
|
||||
this.GetgetTableList()
|
||||
},
|
||||
// 分配填写人确定后弹框关闭
|
||||
areaVisibleAssignedbyflag(val) {
|
||||
this.areaVisibleAssignedby = val
|
||||
|
||||
@@ -76,8 +76,8 @@
|
||||
<span class="title-text-text" :title="$t('projectVersion')">{{$t('projectVersion')}}</span>
|
||||
</div>
|
||||
<a-form-model-item class="itemModel" prop="projectVersion">
|
||||
<a-input class="box-input"
|
||||
:disabled="true"
|
||||
<a-input class="box-input" oninput="javascript:this.value=this.value.replace(/[^\d]$/g,'')"
|
||||
:maxLength="2"
|
||||
v-model="formInline.projectVersion"
|
||||
:placeholder="$t('PleaseEnter')+$t('projectVersion')"/>
|
||||
</a-form-model-item>
|
||||
|
||||
@@ -0,0 +1,196 @@
|
||||
<template>
|
||||
<a-modal
|
||||
:title="$t('batchUpdateDeadline')"
|
||||
:width="500"
|
||||
:visible="visible"
|
||||
:confirm-loading="confirmLoading"
|
||||
:maskClosable="false"
|
||||
@ok="handleOk"
|
||||
@cancel="visible = false"
|
||||
>
|
||||
<a-form-model :model="formInline" class="formAdd" :rules="rules" ref="ruleForm">
|
||||
<a-row :gutter="24">
|
||||
<a-col :span="24">
|
||||
<div class="box-title-text">
|
||||
<div class="title-text">
|
||||
<span class="Required">*</span>
|
||||
<span class="title-text-text"
|
||||
:title="$t('Deadline')">{{$t('Deadline')}}</span>
|
||||
</div>
|
||||
<a-form-model-item class="itemModel" :prop="'deadline'">
|
||||
<a-date-picker class="box-input"
|
||||
:placeholder="$t('PleaseSelect')+$t('Deadline')"
|
||||
:getCalendarContainer="(trigger) => trigger.parentNode"
|
||||
format="YYYY-MM-DD"
|
||||
v-model="formInline.deadline"
|
||||
style="width: 100%"/>
|
||||
</a-form-model-item>
|
||||
</div>
|
||||
</a-col>
|
||||
|
||||
</a-row>
|
||||
</a-form-model>
|
||||
</a-modal>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import moment from 'moment'
|
||||
import { postAction, putAction, getAction } from '@/api/manage'
|
||||
|
||||
export default {
|
||||
name: 'batchUpdateDeadline',
|
||||
data() {
|
||||
return {
|
||||
visible: false,
|
||||
confirmLoading: false,
|
||||
formInline: {},
|
||||
rules: {
|
||||
deadline: [
|
||||
{
|
||||
required: true,
|
||||
message: this.$t('Deadline') + this.$t('cannotEmpty'),
|
||||
trigger: 'change'
|
||||
}
|
||||
]
|
||||
},
|
||||
idList: []
|
||||
}
|
||||
},
|
||||
mounted() {
|
||||
},
|
||||
methods: {
|
||||
handleOk() {
|
||||
this.$refs.ruleForm.validate(valid => {
|
||||
if (valid) {
|
||||
let query = {
|
||||
ids: this.idList.join(','),
|
||||
deadline: moment(this.formInline.deadline).format('YYYY-MM-DD HH:mm:ss')
|
||||
}
|
||||
this.confirmLoading = true
|
||||
postAction('/params/collectManifest/batchEditDeadline', query).then((res) => {
|
||||
if (res.success) {
|
||||
this.visible = false
|
||||
this.confirmLoading = false
|
||||
this.$message.success(this.$t('OperationSuccessful'))
|
||||
this.$emit('batchUpdateDeadlineForm')
|
||||
} else {
|
||||
this.$message.warning(this.$t('operationFailed'))
|
||||
this.confirmLoading = false
|
||||
}
|
||||
})
|
||||
}
|
||||
})
|
||||
},
|
||||
getData(data) {
|
||||
this.idList = []
|
||||
if (data && data.length > 0) {
|
||||
data.forEach(res => {
|
||||
this.idList.push(res.id)
|
||||
})
|
||||
this.visible = true
|
||||
this.formInline = {}
|
||||
} else {
|
||||
this.$message.warning(this.$t('selectLeastOne'))
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
</script>
|
||||
|
||||
|
||||
<style>
|
||||
.formAdd .ant-form-item-label {
|
||||
width: 130px;
|
||||
}
|
||||
|
||||
.formAdd .ant-form-item-control-wrapper {
|
||||
display: inline-block;
|
||||
width: 100%;
|
||||
}
|
||||
|
||||
/*.formAdd .ant-form-item {*/
|
||||
/* margin-bottom: 20px;*/
|
||||
/*}*/
|
||||
|
||||
.itemModel .ant-form-item-control-wrapper {
|
||||
width: 100%;
|
||||
}
|
||||
|
||||
.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;
|
||||
}
|
||||
|
||||
.box-input .ant-calendar-picker-input {
|
||||
padding: 4px 30px 4px 11px;
|
||||
}
|
||||
</style>
|
||||
<style scoped>
|
||||
.box-title-text {
|
||||
line-height: 1.4;
|
||||
display: flex;
|
||||
}
|
||||
|
||||
.title-text {
|
||||
width: 104px;
|
||||
text-align: right;
|
||||
display: inline-block;
|
||||
font-weight: 500;
|
||||
font-size: 14px;
|
||||
margin-right: 16px;
|
||||
overflow: hidden;
|
||||
text-overflow: ellipsis;
|
||||
white-space: nowrap;
|
||||
height: 42px;
|
||||
line-height: 42px;
|
||||
}
|
||||
|
||||
.box-input {
|
||||
display: inline-block;
|
||||
height: 38px;
|
||||
width: 100%;
|
||||
}
|
||||
|
||||
.itemModel {
|
||||
width: calc(100% - 130px);
|
||||
display: inline-block;
|
||||
margin-top: 2px;
|
||||
}
|
||||
|
||||
.title-text-text {
|
||||
margin-top: 9px;
|
||||
}
|
||||
|
||||
.formAdd {
|
||||
margin-bottom: 40px;
|
||||
}
|
||||
.Required{
|
||||
color: red;
|
||||
}
|
||||
</style>
|
||||
+2
-1
@@ -19,7 +19,8 @@
|
||||
</div>
|
||||
<a-form-model-item class="itemModel" prop="projectVersion">
|
||||
<a-input class="box-input"
|
||||
:disabled="true"
|
||||
oninput="javascript:this.value=this.value.replace(/[^\d]$/g,'')"
|
||||
:maxLength="2"
|
||||
v-model="formInline.projectVersion"
|
||||
:placeholder="$t('PleaseEnter')+$t('projectVersion')"/>
|
||||
</a-form-model-item>
|
||||
|
||||
+614
-475
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
@@ -65,7 +65,7 @@
|
||||
dataIndex: 'projectName',
|
||||
scopedSlots: { customRender: 'RelatedItems' },
|
||||
ellipsis: true,
|
||||
width: 170
|
||||
width: 130
|
||||
},
|
||||
{
|
||||
title: this.$t('standardInformation'),
|
||||
@@ -73,7 +73,7 @@
|
||||
dataIndex: 'standardInfo',
|
||||
scopedSlots: { customRender: 'standardInformation' },
|
||||
ellipsis: true,
|
||||
width: 170
|
||||
width: 330
|
||||
},
|
||||
{
|
||||
title: this.$t('taskType'),
|
||||
@@ -87,14 +87,14 @@
|
||||
align: 'left',
|
||||
dataIndex: 'taskDefinitionKeyName',
|
||||
ellipsis: true,
|
||||
width: 170
|
||||
width: 150
|
||||
},
|
||||
{
|
||||
title: this.$t('Sponsor'),
|
||||
align: 'left',
|
||||
dataIndex: 'createBy',
|
||||
ellipsis: true,
|
||||
width: 170
|
||||
width: 130
|
||||
},
|
||||
// {
|
||||
// title: this.$t('LastProcessor'),
|
||||
@@ -115,7 +115,7 @@
|
||||
align: 'left',
|
||||
dataIndex: 'endTime',
|
||||
ellipsis: true,
|
||||
width: 170
|
||||
width: 150
|
||||
},
|
||||
// {
|
||||
// title: this.$t('taskStatus'),
|
||||
|
||||
@@ -78,7 +78,7 @@
|
||||
dataIndex: 'projectName',
|
||||
ellipsis: true,
|
||||
scopedSlots: { customRender: 'RelatedItems' },
|
||||
width: 170
|
||||
width: 110
|
||||
},
|
||||
{
|
||||
title: this.$t('standardInformation'),
|
||||
@@ -86,7 +86,7 @@
|
||||
dataIndex: 'standardInfo',
|
||||
ellipsis: true,
|
||||
scopedSlots: { customRender: 'standardInformation' },
|
||||
width: 170
|
||||
width: 260
|
||||
},
|
||||
{
|
||||
title: this.$t('taskType'),
|
||||
@@ -114,14 +114,14 @@
|
||||
align: 'left',
|
||||
dataIndex: 'createBy',
|
||||
ellipsis: true,
|
||||
width: 170
|
||||
width: 100
|
||||
},
|
||||
{
|
||||
title: this.$t('TaskCutOffTime'),
|
||||
align: 'left',
|
||||
dataIndex: 'endTime',
|
||||
ellipsis: true,
|
||||
width: 170,
|
||||
width: 110,
|
||||
scopedSlots: { customRender: 'endTime' }
|
||||
},
|
||||
// {
|
||||
@@ -136,7 +136,7 @@
|
||||
title: this.$t('operation'),
|
||||
align: 'left',
|
||||
fixed: 'right',
|
||||
width: 120,
|
||||
width: 80,
|
||||
scopedSlots: { customRender: 'operation' }
|
||||
}
|
||||
],
|
||||
|
||||
@@ -71,7 +71,7 @@
|
||||
dataIndex: 'projectName',
|
||||
ellipsis: true,
|
||||
scopedSlots: { customRender: 'RelatedItems' },
|
||||
width: 170
|
||||
width: 130
|
||||
},
|
||||
{
|
||||
title: this.$t('standardInformation'),
|
||||
@@ -79,7 +79,7 @@
|
||||
dataIndex: 'standardInfo',
|
||||
ellipsis: true,
|
||||
scopedSlots: { customRender: 'standardInformation' },
|
||||
width: 170
|
||||
width: 330
|
||||
},
|
||||
{
|
||||
title: this.$t('taskType'),
|
||||
@@ -93,14 +93,14 @@
|
||||
align: 'left',
|
||||
dataIndex: 'taskDefinitionKeyName',
|
||||
ellipsis: true,
|
||||
width: 170
|
||||
width: 130
|
||||
},
|
||||
{
|
||||
title: this.$t('Sponsor'),
|
||||
align: 'left',
|
||||
dataIndex: 'createBy',
|
||||
ellipsis: true,
|
||||
width: 170
|
||||
width: 130
|
||||
},
|
||||
// {
|
||||
// title: this.$t('CurrentProcessor'),
|
||||
@@ -114,7 +114,7 @@
|
||||
align: 'left',
|
||||
dataIndex: 'endTime',
|
||||
ellipsis: true,
|
||||
width: 170
|
||||
width: 150
|
||||
},
|
||||
// {
|
||||
// title: this.$t('taskStatus'),
|
||||
|
||||
@@ -60,42 +60,42 @@
|
||||
dataIndex: 'standardInfo',
|
||||
scopedSlots: { customRender: 'standardInformation' },
|
||||
ellipsis: true,
|
||||
width: 170
|
||||
width: 330
|
||||
},
|
||||
{
|
||||
title: this.$t('taskType'),
|
||||
align: 'left',
|
||||
dataIndex: 'flowTypeShow',
|
||||
ellipsis: true,
|
||||
width: 170
|
||||
width: 130
|
||||
},
|
||||
{
|
||||
title: this.$t('LastProcessor'),
|
||||
align: 'left',
|
||||
dataIndex: 'lastAssigneeName',
|
||||
ellipsis: true,
|
||||
width: 170
|
||||
width: 130
|
||||
},
|
||||
{
|
||||
title: this.$t('CurrentProcessor'),
|
||||
align: 'left',
|
||||
dataIndex: 'assigneeName',
|
||||
ellipsis: true,
|
||||
width: 170
|
||||
width: 130
|
||||
},
|
||||
{
|
||||
title: this.$t('TaskCutOffTime'),
|
||||
align: 'left',
|
||||
dataIndex: 'endTime',
|
||||
ellipsis: true,
|
||||
width: 170
|
||||
width: 150
|
||||
},
|
||||
{
|
||||
title: this.$t('taskStatus'),
|
||||
align: 'left',
|
||||
dataIndex: 'statusShow',
|
||||
ellipsis: true,
|
||||
width: 170
|
||||
width: 130
|
||||
},
|
||||
{
|
||||
title: this.$t('operation'),
|
||||
|
||||
@@ -58,28 +58,28 @@
|
||||
dataIndex: 'standardInfo',
|
||||
scopedSlots: { customRender: 'standardInformation' },
|
||||
ellipsis: true,
|
||||
width: 170
|
||||
width: 330
|
||||
},
|
||||
{
|
||||
title: this.$t('taskType'),
|
||||
align: 'left',
|
||||
dataIndex: 'flowTypeShow',
|
||||
ellipsis: true,
|
||||
width: 170
|
||||
width: 130
|
||||
},
|
||||
{
|
||||
title: this.$t('Sponsor'),
|
||||
align: 'left',
|
||||
dataIndex: 'createBy',
|
||||
ellipsis: true,
|
||||
width: 170
|
||||
width: 130
|
||||
},
|
||||
{
|
||||
title: this.$t('TaskCutOffTime'),
|
||||
align: 'left',
|
||||
dataIndex: 'endTime',
|
||||
ellipsis: true,
|
||||
width: 170,
|
||||
width: 150,
|
||||
scopedSlots: { customRender: 'endTime' }
|
||||
},
|
||||
{
|
||||
@@ -87,7 +87,7 @@
|
||||
align: 'left',
|
||||
dataIndex: 'statusShow',
|
||||
ellipsis: true,
|
||||
width: 170
|
||||
width: 130
|
||||
},
|
||||
{
|
||||
title: this.$t('operation'),
|
||||
|
||||
@@ -57,42 +57,42 @@
|
||||
dataIndex: 'standardInfo',
|
||||
ellipsis: true,
|
||||
scopedSlots: { customRender: 'standardInformation' },
|
||||
width: 170
|
||||
width: 330
|
||||
},
|
||||
{
|
||||
title: this.$t('taskType'),
|
||||
align: 'left',
|
||||
dataIndex: 'flowTypeShow',
|
||||
ellipsis: true,
|
||||
width: 170
|
||||
width: 130
|
||||
},
|
||||
{
|
||||
title: this.$t('Sponsor'),
|
||||
align: 'left',
|
||||
dataIndex: 'createBy',
|
||||
ellipsis: true,
|
||||
width: 170
|
||||
width: 130
|
||||
},
|
||||
{
|
||||
title: this.$t('CurrentProcessor'),
|
||||
align: 'left',
|
||||
dataIndex: 'assigneeName',
|
||||
ellipsis: true,
|
||||
width: 170
|
||||
width: 130
|
||||
},
|
||||
{
|
||||
title: this.$t('TaskCutOffTime'),
|
||||
align: 'left',
|
||||
dataIndex: 'endTime',
|
||||
ellipsis: true,
|
||||
width: 170
|
||||
width: 150
|
||||
},
|
||||
{
|
||||
title: this.$t('taskStatus'),
|
||||
align: 'left',
|
||||
dataIndex: 'statusShow',
|
||||
ellipsis: true,
|
||||
width: 170
|
||||
width: 130
|
||||
},
|
||||
{
|
||||
title: this.$t('operation'),
|
||||
|
||||
Reference in New Issue
Block a user