From 1f8b89d341be59ffb2aca826ab84ca3d2757b342 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=8C=83=E5=BC=BA=E5=BC=BA?= <787203167> Date: Tue, 21 Mar 2023 16:59:47 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E6=B3=95=E8=A7=84=E6=B8=85?= =?UTF-8?q?=E5=8D=95=E7=9A=84=E5=88=97=E8=A1=A8=E8=AE=BE=E7=BD=AE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- jero-web/src/common/lang/en-us.js | 3 +- jero-web/src/common/lang/zh-cn.js | 2 + .../components/listOfRegulations.vue | 419 +++++------- .../components/listOfRegulationsView.vue | 318 ++++----- .../components/circulationHistory.vue | 8 +- .../components/confirmationDrawer.vue | 638 ++++++++++++------ .../components/dealtWith.vue | 20 +- .../components/designCompliance.vue | 27 +- .../projectRegulationTasks/index.vue | 65 +- 9 files changed, 821 insertions(+), 679 deletions(-) diff --git a/jero-web/src/common/lang/en-us.js b/jero-web/src/common/lang/en-us.js index b43dc25a6..19e21e2ce 100644 --- a/jero-web/src/common/lang/en-us.js +++ b/jero-web/src/common/lang/en-us.js @@ -1681,5 +1681,6 @@ module.exports = { last:'Last', designComplianceReviewAdmin:'Design Compliance Review', missionAccomplished:'Mission Accomplished', - + taskTypeMismatch:'Task Type Mismatch', + taskNodeMismatch:'Task Node Mismatch', } \ No newline at end of file diff --git a/jero-web/src/common/lang/zh-cn.js b/jero-web/src/common/lang/zh-cn.js index 5f037e2fc..7203f5c5f 100644 --- a/jero-web/src/common/lang/zh-cn.js +++ b/jero-web/src/common/lang/zh-cn.js @@ -1781,4 +1781,6 @@ module.exports = { module:'模块', designComplianceReviewAdmin:'设计符合性审查', missionAccomplished:'任务完成', + taskTypeMismatch:'任务类型不匹配', + taskNodeMismatch:'任务节点不匹配', } \ No newline at end of file diff --git a/jero-web/src/views/projectManagement/components/listOfRegulations.vue b/jero-web/src/views/projectManagement/components/listOfRegulations.vue index 759991c7c..587a44a6b 100644 --- a/jero-web/src/views/projectManagement/components/listOfRegulations.vue +++ b/jero-web/src/views/projectManagement/components/listOfRegulations.vue @@ -268,13 +268,15 @@ @click="edit(record)"> {{ $t('edit') }} + + + + + - {{ $t('view') }} - - {{ $t('deleteLib') }} @@ -284,12 +286,12 @@ - - - {{ $t('view') }} - - + + + + + + {{ text }} @@ -301,6 +303,23 @@ {{ text }} + + + + {{$t('viewFile')}} + + -- + + + + {{$t('viewFile')}} + + -- +
{{ $t('total') + ' ' + this.dataSource.length + ' ' + $t('strip') }} @@ -358,39 +377,6 @@ - - - - - - {{ $t('See') }} - - - {{ $t('download') }} - - - - + @@ -473,6 +460,7 @@ import fixedPlate from './fixedPlateForm' import resultReportedUpload from './resultReportedUpload' import listOfRegulationsView from './listOfRegulationsView' + import viewFileModel from '@/components/viewFileModel/index' import globalAdvancedQuery from '@/components/globalAdvancedQuery/index' import batchSettingPersonnel from './batchSettingPersonnel' import { getAction, postAction, downloadFile, deleteAction } from '@/api/manage' @@ -496,7 +484,8 @@ fixedPlate, resultReportedUpload, batchSettingPersonnel, - listOfRegulationsView + listOfRegulationsView, + viewFileModel }, mixins: [ResizeColumnProvide, ResizeHeader], data() { @@ -531,92 +520,27 @@ ellipsis: true, width: 180 }, - // { - // title: this.$t('listConfirmationStatus'), - // align: 'left', - // dataIndex: 'inventoryAffirmStatusName', - // width: 240, - // sorter: true, - // ellipsis: true - // }, - // { - // title: this.$t('taskAffirmStatus'), - // align: 'left', - // sorter: true, - // dataIndex: 'taskAffirmStatusName', - // width: 240, - // ellipsis: true - // }, - // { - // title: this.$t('taskReleaseStatus'), - // align: 'center', - // dataIndex: 'taskReleaseStatus' - // }, - // { - // title: this.$t('zoneOfApplication'), - // align: 'left', - // dataIndex: 'region_dictText', - // width: 180, - // ellipsis: true - // }, - // { - // title: this.$t('correspondingStandard'), - // align: 'left', - // dataIndex: 'correspondingStandard', - // width: 180, - // ellipsis: true - // }, - // { - // title: this.$t('implementationCategory'), - // align: 'left', - // dataIndex: 'implementType_dictText', - // width: 180, - // ellipsis: true - // }, - // { - // title: this.$t('ImplementationDate'), - // align: 'left', - // width: 200, - // dataIndex: 'xin1Che1Xing2Shi2Shi1Ri4Qi1', - // ellipsis: true - // }, - // { - // title: this.$t('vehicleInProductionDate'), - // align: 'left', - // width: 220, - // dataIndex: 'implementTime', - // ellipsis: true - // }, - // { - // title: this.$t('certificationType'), - // align: 'left', - // dataIndex: 'attestationType_dictText', - // width: 180, - // ellipsis: true - // }, - // { - // title: this.$t('certificationLevel'), - // align: 'left', - // dataIndex: 'attestationRank_dictText', - // width: 180, - // sorter: true, - // ellipsis: true - // }, - // { - // title: this.$t('applicableSupplement'), - // align: 'left', - // width: 220, - // dataIndex: 'applicableSupplement', - // ellipsis: true - // }, - // { - // title: 'WVTA ID', - // align: 'left', - // dataIndex: 'wvtaId', - // width: 180, - // sorter: true, - // ellipsis: true - // }, + { + title: this.$t('applicableSupplement'), + align: 'left', + ellipsis: true, + dataIndex: 'applicableSupplement', + width: 180 + }, + { + title: this.$t('certificationType'), + align: 'left', + ellipsis: true, + dataIndex: 'attestationType_dictText', + width: 180 + }, + { + title: this.$t('certificationLevel'), + align: 'left', + ellipsis: true, + dataIndex: 'attestationRank_dictText', + width: 180 + }, { title: this.$t('areaOfResponsibility'), align: 'left', @@ -649,31 +573,16 @@ dataIndex: 'engineeringInterfacePersonName', width: 180 }, - // { - // title: this.$t('remarks'), - // align: 'left', - // dataIndex: 'remark', - // width: 180, - // ellipsis: true - // }, + { + title: this.$t('remarks'), + align: 'left', + dataIndex: 'remark', + width: 180, + ellipsis: true + }, { title: this.$t('confirmationOfDesignConformity'), children: [ - // { - // title: this.$t('Deliverables'), - // dataIndex: 'designDeliverableTemplateName', - // align: 'left', - // width: 180, - // ellipsis: true, - // scopedSlots: { customRender: 'designDeliverableTemplateName' } - // }, - // { - // title: this.$t('Sponsor'), - // dataIndex: 'designInitiatorName', - // align: 'left', - // width: 180, - // ellipsis: true - // }, { title: this.$t('personLiable'), dataIndex: 'designDutyName', @@ -694,6 +603,14 @@ align: 'left', ellipsis: true, width: 140 + }, + { + title: this.$t('deliverableTemplate'), + dataIndex: 'designDeliverableTemplate', + align: 'left', + width: 180, + ellipsis: true, + scopedSlots: { customRender: 'designDeliverableTemplate' } } // { // title: this.$t('descriptionDeliverables'), @@ -704,65 +621,9 @@ // } ] }, - // { - // title: this.$t('PrehomoConfirmation'), - // children: [ - // { - // title: this.$t('Deliverables'), - // dataIndex: 'prehomoDeliverableTemplateName', - // align: 'left', - // width: 180, - // ellipsis: true, - // scopedSlots: { customRender: 'prehomoDeliverableTemplateName' } - // }, - // // { - // // title: this.$t('Sponsor'), - // // dataIndex: 'prehomoInitiatorName', - // // align: 'left', - // // width: 180, - // // ellipsis: true - // // }, - // { - // title: this.$t('personLiable'), - // dataIndex: 'prehomoDutyName', - // align: 'left', - // width: 180, - // ellipsis: true - // }, - // { - // title: this.$t('TaskCutOffTime'), - // dataIndex: 'prehomoDueDate', - // align: 'left', - // width: 140, - // ellipsis: true - // }, - // { - // title: this.$t('descriptionDeliverables'), - // dataIndex: 'prehomoRemark', - // align: 'left', - // width: 220, - // ellipsis: true - // } - // ] - // }, { title: this.$t('verificationAndConformityconfirmation'), children: [ - // { - // title: this.$t('Deliverables'), - // dataIndex: 'verifyDeliverableTemplateName', - // align: 'left', - // width: 180, - // ellipsis: true, - // scopedSlots: { customRender: 'verifyDeliverableTemplateName' } - // }, - // { - // title: this.$t('Sponsor'), - // dataIndex: 'verifyInitiatorName', - // align: 'left', - // width: 180, - // ellipsis: true - // }, { title: this.$t('personLiable'), dataIndex: 'verifyDutyName', @@ -783,6 +644,14 @@ align: 'left', ellipsis: true, width: 180 + }, + { + title: this.$t('deliverableTemplate'), + dataIndex: 'verifyDeliverableTemplate', + align: 'left', + width: 180, + ellipsis: true, + scopedSlots: { customRender: 'verifyDeliverableTemplateName' } } // { // title: this.$t('descriptionDeliverables'), @@ -799,13 +668,6 @@ fixed: 'right', width: 200, scopedSlots: { customRender: 'operation' } - }, - { - title: this.$t('operation'), - align: 'left', - fixed: 'right', - width: 140, - scopedSlots: { customRender: 'operationOne' } } ], columnsAll: [], @@ -911,6 +773,33 @@ key: 3, moduleFlag: '法规清单' }, + { + sort: '', + name: this.$t('applicableSupplement'), + headFieldCn: '适用增补件', + headFieldEn: 'Applicable Supplement', + field: 'applicableSupplement', + key: 4, + moduleFlag: '法规清单' + }, + { + sort: '', + name: this.$t('certificationType'), + headFieldCn: '认证类型', + headFieldEn: 'Certification Type', + field: 'attestationType_dictText', + key: 5, + moduleFlag: '法规清单' + }, + { + sort: '', + name: this.$t('certificationLevel'), + headFieldCn: '认证级别', + headFieldEn: 'Certification Level', + field: 'attestationRank_dictText', + key: 6, + moduleFlag: '法规清单' + }, { sort: '', name: this.$t('areaOfResponsibility'), @@ -938,6 +827,15 @@ key: 18, moduleFlag: '法规清单' }, + { + sort: '', + name: this.$t('remarks'), + headFieldCn: '备注', + headFieldEn: 'Comments', + field: 'remark', + key: 18, + moduleFlag: '法规清单' + }, { sort: '', name: this.$t('confirmationOfDesignConformity') + '/' + this.$t('personLiable'), @@ -965,7 +863,17 @@ headFieldEn: 'Process Status', field: 'designFlowStatusName', affirmFlag: '1', - key: 23, + key: 24 , + moduleFlag: '法规清单' + }, + { + sort: '', + name: this.$t('confirmationOfDesignConformity') + '/' + this.$t('deliverableTemplate'), + headFieldCn: '交付物模板', + headFieldEn: 'Deliverable Template', + field: 'designDeliverableTemplate', + affirmFlag: '3', + key: 25, moduleFlag: '法规清单' }, { @@ -998,6 +906,16 @@ key: 34, moduleFlag: '法规清单' }, + { + sort: '', + name: this.$t('verificationAndConformityconfirmation') + '/' + this.$t('deliverableTemplate'), + headFieldCn: '交付物模板', + headFieldEn: 'Deliverable Template', + field: 'verifyDeliverableTemplate', + affirmFlag: '3', + key: 36, + moduleFlag: '法规清单' + }, { sort: '', disabled: true, @@ -1216,23 +1134,15 @@ }, columns() { let columnResult = JSON.parse(JSON.stringify(this.columnsAll)) - console.log(this.isRoleSwitching) - if (!this.isRoleSwitching) { + if (this.roleSwitchingCode == 0 || this.roleSwitchingCode == 1) { + } else { for (var i = 0; i < columnResult.length; i++) { - if (columnResult[i].title === this.$t('operation') && columnResult[i].width == 200) { - columnResult.splice(i, 1) - i-- - } - } - } else if (this.isRoleSwitching) { - for (var i = 0; i < columnResult.length; i++) { - if (columnResult[i].title === this.$t('operation') && columnResult[i].width == 140) { + if (columnResult[i].title === this.$t('operation')) { columnResult.splice(i, 1) i-- } } } - return columnResult } }, @@ -1620,7 +1530,8 @@ for (let i = 0; i < this.dataSource.length; i++) { for (let j = 0; j < selectedRowKeys.length; j++) { if (this.dataSource[i].id == selectedRowKeys[j]) { - if (this.dataSource[i].inventoryAffirmStatus == 'Not started' || this.dataSource[i].inventoryAffirmStatus == 'Rejected') { + if (this.dataSource[i].verifyFlowStatus == 'List to be released' || + this.dataSource[i].designFlowStatus == 'List to be released') { isTrue = true } else { isTrue = false @@ -1733,6 +1644,15 @@ }).then((res) => { if (res.success) { this.columnsAll = this.column + this.columnsAll.forEach((item) => { + if (item.children) { + item.children.forEach((val) => { + this.checkedList.push(item.dataIndex, val.dataIndex) + }) + } else { + this.checkedList.push(item.dataIndex) + } + }) return if (res.result.length != 0) { this.columnsAll = res.result @@ -2082,7 +2002,7 @@ }) }, - startProcess(value, type,index) { + startProcess(value, type, index) { let query = { type: type, projectLawsInvnetoryList: value, @@ -2092,7 +2012,7 @@ } postAction('/workFlow/startProcess', query).then((res) => { if (res.success) { - this.completeTaskList.push(this.completeTask(value, res.result,index)) + this.completeTaskList.push(this.completeTask(value, res.result, index)) Promise.all(this.completeTaskList).then((res) => { if (this.requestsNum == res.length) { this.visible = false @@ -2269,7 +2189,7 @@ if (dataList[i].designFlowStatus == 'List to be checked') { if (dataList[i].designDeliverableType && dataList[i].designDutyId && dataList[i].designDueDate) { this.requestsNum++ - _this.startProcess(dataList[i], 2,this.requestsNum) + _this.startProcess(dataList[i], 2, this.requestsNum) } } else { _this.detailedWarningList.push( @@ -2278,7 +2198,7 @@ if (dataList[i].verifyFlowStatus == 'List to be checked') { if (dataList[i].verifyDeliverableType && dataList[i].verifyDutyId && dataList[i].verifyDueDate) { this.requestsNum++ - _this.startProcess(dataList[i], 2,this.requestsNum) + _this.startProcess(dataList[i], 2, this.requestsNum) } } else { _this.detailedWarningList.push( @@ -2384,27 +2304,6 @@ } }, - pdfPreviewClick(name, id) { - let fileName = 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=' + id + '&userName=' + this.userInfo().username)) - } else if (fileSuffix == '.docx' || fileSuffix == '.doc') { - let url = window._CONFIG['onlinePreviewDomainURL'] + '?url=' + Base64.encode(this.downLoadFileUrl + '/' + id + fileSuffix) - window.open(url, '_blank') - } else if (fileSuffix == '.xlsx' || fileSuffix == '.xls') { - let url = window._CONFIG['onlinePreviewDomainURL'] + '?url=' + Base64.encode(this.downLoadFileUrl + '/' + 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 + '/' + id + fileSuffix) - window.open(url, '_blank') - } else { - downloadFile('/sys/common/downLoadFile', name, { id: id, userName: this.userInfo().username }) - } - }, - download(item) { downloadFile('/sys/common/downLoadFile', item.fileName, { id: item.id, userName: this.userInfo().username }) }, @@ -2465,7 +2364,7 @@ }, resultReportedClick(val) { - if (val.regulationOwnerId == this.userInfo().id) { + if (this.roleSwitchingCode == 1) { this.$refs.resultReportedUploadRef.clickButtonToUploadFile(val) } else { if (val.fileId) { @@ -2483,6 +2382,9 @@ } }) window.open(newUrl.href, '_blank') + }, + viewFileClick(item) { + this.$refs.viewFileModelRef.clickButtonToUpload(item) } } } @@ -2772,6 +2674,11 @@ padding-bottom: 0 !important; overflow: scroll !important; } + + .viewFile { + color: #00B3BE; + cursor: pointer; + } \ No newline at end of file diff --git a/jero-web/src/views/toDoCenter/projectRegulationTasks/components/dealtWith.vue b/jero-web/src/views/toDoCenter/projectRegulationTasks/components/dealtWith.vue index 41f65af28..b0ce6b6d0 100644 --- a/jero-web/src/views/toDoCenter/projectRegulationTasks/components/dealtWith.vue +++ b/jero-web/src/views/toDoCenter/projectRegulationTasks/components/dealtWith.vue @@ -7,7 +7,7 @@ :loading="loading" :pagination="false" :scroll="{x: '100%',y:'calc(100vh - 140px)'}" - rowKey="id" + :rowKey="(record)=>JSON.stringify(record)" :data-source="dataSource" :columns="columns" :row-selection="{ selectedRowKeys: selectedRowKeys, onChange: onSelectChange }" @@ -46,6 +46,8 @@ />
+ @@ -194,13 +196,25 @@ this.getList() }, methods: { + getData(name) { + if (this.selectedRowKeys && this.selectedRowKeys.length > 0) { + this.$refs.confirmationdrawer.confirmation(JSON.parse(JSON.stringify(this.selectedRowKeys)), name) + } else { + this.$message.warning(this.$t('selectLeastOne')) + } + }, onSelectChange(value) { this.selectedRowKeys = value - console.log(this.selectedRowKeys) }, - designComplianceList(){ + designComplianceList() { this.getList() }, + + confirmationdrawerList() { + this.selectedRowKeys = [] + this.getList() + }, + RelatedItemsClick(item) { let newUrl = this.$router.resolve({ path: '/ProjectDetails', diff --git a/jero-web/src/views/toDoCenter/projectRegulationTasks/components/designCompliance.vue b/jero-web/src/views/toDoCenter/projectRegulationTasks/components/designCompliance.vue index dedfb5f39..cf6340b07 100644 --- a/jero-web/src/views/toDoCenter/projectRegulationTasks/components/designCompliance.vue +++ b/jero-web/src/views/toDoCenter/projectRegulationTasks/components/designCompliance.vue @@ -26,13 +26,13 @@ :url="url" :standardContentQuery="queryProject" /> -
- -
+
+ +
@@ -131,8 +131,8 @@ return true }, isConfirm() { - if (!this.queryData.isDisplay){ - return false + if (!this.queryData.isDisplay) { + return false } return true } @@ -150,6 +150,8 @@ }) }, completeTask(value) { + this.textLoading = this.$t('Submitting') + this.loading = true let json = Object.assign(this.queryBy, value) let data = JSON.stringify(json).replace(/\"/g, '\'') Object.keys(value).forEach(res => { @@ -167,6 +169,7 @@ if (res.success) { this.$message.success(this.$t('OperationSuccessful')) this.visible = false + this.loading = false this.$emit('designComplianceList') } else { this.loading = false @@ -294,10 +297,12 @@ background: #fff; border-radius: 0 0 2px 2px; } - .circulationHistory{ + + .circulationHistory { margin-bottom: 436px; } - .circulationHistoryOne{ + + .circulationHistoryOne { margin-bottom: 30px; } \ No newline at end of file diff --git a/jero-web/src/views/toDoCenter/projectRegulationTasks/index.vue b/jero-web/src/views/toDoCenter/projectRegulationTasks/index.vue index 2887164b3..6e94a9c68 100644 --- a/jero-web/src/views/toDoCenter/projectRegulationTasks/index.vue +++ b/jero-web/src/views/toDoCenter/projectRegulationTasks/index.vue @@ -100,7 +100,6 @@ - @@ -109,78 +108,74 @@ import dealtWith from './components/dealtWith' import doneList from './components/doneList' import SentList from './components/SentList' - import confirmationDrawer from './components/confirmationDrawer' export default { name: 'index', components: { dealtWith, doneList, - SentList, - confirmationDrawer + SentList }, data() { return { title: '', queryParam: { - projectName:this.$route.query.projectName?this.$route.query.projectName:'' + projectName: this.$route.query.projectName ? this.$route.query.projectName : '' }, toggleSearchStatus: false, taskTypeList: [ { - name:this.$t('confirmationOfRegulationsList'), - value:'10', + name: this.$t('confirmationOfRegulationsList'), + value: '10' }, { - name:this.$t('listTaskConfirmation'), - value:'1', + name: this.$t('listTaskConfirmation'), + value: '1' }, { - name:this.$t('designComplianceReview'), - value:'2', + name: this.$t('designComplianceReview'), + value: '2' }, { - name:this.$t('preHomeConfirmation'), - value:'3', + name: this.$t('preHomeConfirmation'), + value: '3' }, { - name:this.$t('verificationComplianceReview'), - value:'4', - }, + name: this.$t('verificationComplianceReview'), + value: '4' + } ], taskStatusList: [ { - name:this.$t('listToConfirm'), - value:'List to confirm', + name: this.$t('listToConfirm'), + value: 'List to confirm' }, { - name:this.$t('Finished'), - value:'Completed', + name: this.$t('Finished'), + value: 'Completed' }, { - name:this.$t('inquiry'), - value:'Inquiry', + name: this.$t('inquiry'), + value: 'Inquiry' }, { - name:this.$t('toSubmit'), - value:'To submit', + name: this.$t('toSubmit'), + value: 'To submit' }, { - name:this.$t('toAudit'), - value:'To audit', - }, + name: this.$t('toAudit'), + value: 'To audit' + } ], tabActive: this.$t('toDoProcess') } }, methods: { TaskresponsibilityrecognitionClick() { - this.$refs.confirmationdrawer.confirmation(1) - // this.title = this.$t('Taskresponsibilityrecognition') + this.$refs.dealtWithRef.getData(this.$t('Taskresponsibilityrecognition')) }, complianceConfirmationClick() { - this.$refs.confirmationdrawer.confirmation(2) - // this.title = this.$t('complianceConfirmation') + this.$refs.dealtWithRef.getData(this.$t('complianceConfirmation')) }, callback(value) { this.tabActive = value @@ -190,11 +185,11 @@ }, searchQuery() { if (this.tabActive == this.$t('toDoProcess')) { - this.$refs.dealtWithRef.searchQuery(this.queryParam ) + this.$refs.dealtWithRef.searchQuery(this.queryParam) } else if (this.tabActive == this.$t('processDone')) { - this.$refs.doneListRef.searchQuery(this.queryParam ) + this.$refs.doneListRef.searchQuery(this.queryParam) } else if (this.tabActive == this.$t('sentProcess')) { - this.$refs.SentListRef.searchQuery(this.queryParam ) + this.$refs.SentListRef.searchQuery(this.queryParam) } }, searchReset() { @@ -206,7 +201,7 @@ } else if (this.tabActive == this.$t('sentProcess')) { this.$refs.SentListRef.searchReset() } - }, + } // taskConfirmationHandlingClick() { // this.$router.push({ // path: '/toDoTaskConfirmation'