修改文档详情的查看文件时的标准分解单

This commit is contained in:
qq787203167
2022-04-15 18:13:48 +08:00
parent 1b47e3e339
commit 901b58a37c
5 changed files with 290 additions and 133 deletions
+72 -67
View File
@@ -390,7 +390,7 @@ module.exports = {
check: 'check', check: 'check',
enName: 'English name', enName: 'English name',
selectLeastOne: 'Please select at least one piece of data', selectLeastOne: 'Please select at least one piece of data',
selectFileType:'Please select a file type', selectFileType: 'Please select a file type',
sureVerified: 'Are you sure this file is not verified?', sureVerified: 'Are you sure this file is not verified?',
sureSynchronize: 'The file has not been verified. Are you sure you want to synchronize to the document library?', sureSynchronize: 'The file has not been verified. Are you sure you want to synchronize to the document library?',
UploadFile: 'Upload file', UploadFile: 'Upload file',
@@ -591,70 +591,75 @@ module.exports = {
confirmationOfDesignConformity: 'Confirmation of design conformity', confirmationOfDesignConformity: 'Confirmation of design conformity',
Deliverables: 'Deliverables', Deliverables: 'Deliverables',
personLiable: 'person liable', personLiable: 'person liable',
PrehomoConfirmation:'Prehomo confirmation', PrehomoConfirmation: 'Prehomo confirmation',
verificationAndConformityconfirmation:'Verification and conformity confirmation', verificationAndConformityconfirmation: 'Verification and conformity confirmation',
StandardImplementationDate:'Standard implementation date', StandardImplementationDate: 'Standard implementation date',
regulatoryEngineer:'Regulatory Engineer', regulatoryEngineer: 'Regulatory Engineer',
certifiedEngineer:'Certified Engineer', certifiedEngineer: 'Certified Engineer',
engineeringInterfacePerson:'Engineering interface person', engineeringInterfacePerson: 'Engineering interface person',
typeOfDeliverables:'Type of deliverables', typeOfDeliverables: 'Type of deliverables',
deliverableTemplate:'Deliverable template', deliverableTemplate: 'Deliverable template',
entryName:'entry name', entryName: 'entry name',
targetMarket:'target market', targetMarket: 'target market',
projectStatus:'Project status', projectStatus: 'Project status',
StudioEngineer:'Studio engineer', StudioEngineer: 'Studio engineer',
CertificationTime:'Certification time', CertificationTime: 'Certification time',
NTplatform:'NT platform', NTplatform: 'NT platform',
NPplatform:'NP platform', NPplatform: 'NP platform',
IPDInformation:'IPD information', IPDInformation: 'IPD information',
certificationProgramInformation:'Certification program information', certificationProgramInformation: 'Certification program information',
taskReleaseStatus:'Task release status', taskReleaseStatus: 'Task release status',
task:'task', task: 'task',
TaskCutOffTime:'Task cut-off time', TaskCutOffTime: 'Task cut-off time',
Transfer:'Transfer', Transfer: 'Transfer',
CertificationDirectory:'Certification directory', CertificationDirectory: 'Certification directory',
TaskRequirements:'Task requirements', TaskRequirements: 'Task requirements',
CertificationProgress:'Certification progress', CertificationProgress: 'Certification progress',
CurrentProjectStatusEvaluation:'Current project status evaluation', CurrentProjectStatusEvaluation: 'Current project status evaluation',
NiONumber:'NiO number', NiONumber: 'NiO number',
ParameterName:'Parameter name', ParameterName: 'Parameter name',
ParameterDescription:'Parameter description', ParameterDescription: 'Parameter description',
Version:'Version', Version: 'Version',
certificationProgramTime:'Certification program time', certificationProgramTime: 'Certification program time',
ArchitecturePlatform:'Architecture platform', ArchitecturePlatform: 'Architecture platform',
ModelPlatform:'Model platform', ModelPlatform: 'Model platform',
ListOfRelevantPersonnel:'List of relevant personnel', ListOfRelevantPersonnel: 'List of relevant personnel',
DeliverableStatus:'Deliverable status', DeliverableStatus: 'Deliverable status',
CurrentStatusOfTheProject:'Current status of the project', CurrentStatusOfTheProject: 'Current status of the project',
NonConformance:'Non conformance', NonConformance: 'Non conformance',
listSubclauses:'list subclauses', listSubclauses: 'list subclauses',
fileType:'file type', fileType: 'file type',
view:'view', view: 'view',
KMVSS_Table:'KMVSS Table', KMVSS_Table: 'KMVSS Table',
KMVSS_Article:'KMVSS Article', KMVSS_Article: 'KMVSS Article',
America:'America', America: 'America',
Europe:'Europe', Europe: 'Europe',
Japan_one:'Japan Attachment', Japan_one: 'Japan Attachment',
Japan_two:'Japan Article', Japan_two: 'Japan Article',
China:'China', China: 'China',
onlyOnefileUploaded:'only one file can be uploaded', onlyOnefileUploaded: 'only one file can be uploaded',
typeCannotUploaded:'this type of file cannot be uploaded', typeCannotUploaded: 'this type of file cannot be uploaded',
confirmWithdraw:'confirm Withdraw ?', confirmWithdraw: 'confirm Withdraw ?',
OperationDetails:'Operation details', OperationDetails: 'Operation details',
OperationTime:'Operation time', OperationTime: 'Operation time',
oneTableAdded:'only one table can be added', oneTableAdded: 'only one table can be added',
addATable:'please add a table', addATable: 'please add a table',
pleaseUploadSplitFile:'please upload split file', pleaseUploadSplitFile: 'please upload split file',
release:'release', release: 'release',
confirmRelease:'confirm Release ?', confirmRelease: 'confirm Release ?',
UploadMost:'You can only upload 20 at most', UploadMost: 'You can only upload 20 at most',
FileUploadFailed:'File upload failed', FileUploadFailed: 'File upload failed',
FileUploadedSuccessfully:'File uploaded successfully', FileUploadedSuccessfully: 'File uploaded successfully',
DeletedSuccessfully:'Deleted successfully', DeletedSuccessfully: 'Deleted successfully',
confirmCopy:'confirm Copy ?', confirmCopy: 'confirm Copy ?',
DigitalPlatform:'Digital platform', DigitalPlatform: 'Digital platform',
dehicleDevelopmentPlan:'Vehicle development plan', dehicleDevelopmentPlan: 'Vehicle development plan',
certificationProgram:'certificationProgram', certificationProgram: 'certificationProgram',
DocumentStandard:'Document standard', DocumentStandard: 'Document standard',
standardName:'标准名称', standardName: 'standard Name',
initiateListConfirmation: 'Initiate list confirmation',
initiateTaskConfirmation: 'Initiate task confirmation',
alteration: 'alteration',
fixedPlate: 'Fixed plate',
taskAffirmStatus: 'task Affirm Status'
} }
+13 -8
View File
@@ -652,13 +652,18 @@ module.exports = {
release: '发布', release: '发布',
confirmRelease: '确认发布', confirmRelease: '确认发布',
UploadMost: '最多只能上传二十个', UploadMost: '最多只能上传二十个',
FileUploadFailed:'文件上传失败', FileUploadFailed: '文件上传失败',
FileUploadedSuccessfully:'文件上传成功', FileUploadedSuccessfully: '文件上传成功',
DeletedSuccessfully:'删除成功', DeletedSuccessfully: '删除成功',
confirmCopy: '确定复制', confirmCopy: '确定复制',
DigitalPlatform:'数字平台', DigitalPlatform: '数字平台',
dehicleDevelopmentPlan:'整车开发计划', dehicleDevelopmentPlan: '整车开发计划',
certificationProgram:'认证计划', certificationProgram: '认证计划',
DocumentStandard:'文档标准', DocumentStandard: '文档标准',
standardName:'Standard name', standardName: '标准名称',
initiateListConfirmation: '发起清单确认',
initiateTaskConfirmation:'发起任务确认',
alteration:'变更',
fixedPlate:'定版',
taskAffirmStatus:'任务发布状态',
} }
@@ -222,6 +222,35 @@
</span> </span>
</a-table> </a-table>
</a-modal> </a-modal>
<a-modal
:title="'查看文件'"
:width="600"
:visible="visibleFile"
:maskClosable="false"
@ok="visibleFile = false"
@cancel="visibleFile = false"
>
<a-table
class="table"
:columns="columnsFile"
:pagination="false"
:scroll="{x:500,y: 400}"
:data-source="dataSourceFile"
:loading="loading"
>
<span slot="fileOperation" slot-scope="record">
<a class="text" @click="pdfPreview(record)">
{{$t('See')}}
</a>
<a class="text" @click="download(record)">
{{$t('download')}}
</a>
<a class="text" @click="breakdown(record)">
{{$t('StandardBreakdown')}}
</a>
</span>
</a-table>
</a-modal>
<uploadFile ref="uploadFile" :isUploadFile="true" :disabled="true"></uploadFile> <uploadFile ref="uploadFile" :isUploadFile="true" :disabled="true"></uploadFile>
</div> </div>
</template> </template>
@@ -241,15 +270,31 @@
getInfo: 'document/bussDocumentLibraryEO/getInfoById', getInfo: 'document/bussDocumentLibraryEO/getInfoById',
list: 'log/bussLogEO/page' list: 'log/bussLogEO/page'
}, },
visibleFile: false,
columnsRelated: [ columnsRelated: [
{ {
title: '标准名称', title: this.$t('standardName'),
dataIndex: 'title', dataIndex: 'title',
align: 'center', align: 'center',
ellipsis: true, ellipsis: true,
scopedSlots: { customRender: 'operation' } scopedSlots: { customRender: 'operation' }
} }
], ],
columnsFile: [
{
title: this.$t('fileName'),
dataIndex: 'fileName',
align: 'center',
width: 260,
ellipsis: true
},
{
title: this.$t('operation'),
align: 'center',
width: 130,
scopedSlots: { customRender: 'fileOperation' }
}
],
dataSourceRelated: [], dataSourceRelated: [],
detailList: [], detailList: [],
visible: false, visible: false,
@@ -261,6 +306,7 @@
pageSize: 10, pageSize: 10,
total: 0, total: 0,
visibleRelated: false, visibleRelated: false,
dataSourceFile: [],
columns: [ columns: [
{ {
title: this.$t('ModificationContent'), title: this.$t('ModificationContent'),
@@ -300,13 +346,15 @@
}) })
}, },
clickButtonToUpload(item) { clickButtonToUpload(item) {
this.$refs.uploadFile.perentHandleFunc() this.loading = true
this.$refs.uploadFile.visible = true this.visibleFile = true
getAction('sys/common/getFileInfos', { id: item.join(',') }).then((res) => { getAction('sys/common/getFileInfos', { id: item.join(',') }).then((res) => {
if (res.success) { if (res.success) {
this.$refs.uploadFile.perentHandleFunc(res.result) this.dataSourceFile = res.result
this.loading = false
} else { } else {
this.$refs.uploadFile.perentHandleFunc() this.dataSourceFile = []
this.loading = false
} }
}) })
}, },
@@ -29,6 +29,10 @@
<a-icon type="container"/> <a-icon type="container"/>
任务参数收集 任务参数收集
</div> </div>
<div class="Virtual-detail-left-text" @click="textClick(4,'未符合项')">
<a-icon type="container"/>
未符合项
</div>
</div> </div>
<div class="Virtual-detail-right"> <div class="Virtual-detail-right">
<ProjectDetailsName v-if="textTitle === '项目详情'"/> <ProjectDetailsName v-if="textTitle === '项目详情'"/>
@@ -25,7 +25,7 @@
</a-col> </a-col>
<a-col :md="6" :sm="8"> <a-col :md="6" :sm="8">
<div class="box-title-text"> <div class="box-title-text">
<div class="title-text" :title="$t('subtitle')"> <div class="title-text" style="width: 44px" :title="$t('subtitle')">
<span>{{$t('subtitle')}}</span> <span>{{$t('subtitle')}}</span>
</div> </div>
<a-input class="box-input" :placeholder="$t('PleaseEnter')+$t('subtitle')" <a-input class="box-input" :placeholder="$t('PleaseEnter')+$t('subtitle')"
@@ -41,13 +41,25 @@
</a-row> </a-row>
</div> </div>
<div class="table-operator"> <div class="table-operator">
<div style="float: left;margin-bottom: 19px"> <div style="float: left;margin-bottom: 19px;margin-left: 20px">
<a-icon type="solution" title="发起清单确认" class="operator-text-left"/> <div class="operator-text">
<a-icon type="file-protect" title="发起任务确认" class="operator-text-left"/> <a-icon type="solution"/>
<a-icon type="file-search" title="变更" class="operator-text-left"/> {{$t('initiateListConfirmation')}}
<a-icon type="bulb" title="定板" class="operator-text-left"/> </div>
<div class="operator-text">
<a-icon type="file-protect"/>
{{$t('initiateTaskConfirmation')}}
</div>
<div class="operator-text">
<a-icon type="file-search"/>
{{$t('alteration')}}
</div>
<div class="operator-text">
<a-icon type="bulb"/>
{{$t('fixedPlate')}}
</div>
</div> </div>
<div style="float: right;margin-top: 4px"> <div style="float: right;margin-top: 1px">
<div class="operator-text" v-has="'document:importZip'"> <div class="operator-text" v-has="'document:importZip'">
<ImportFile :url="url"/> <ImportFile :url="url"/>
</div> </div>
@@ -95,8 +107,8 @@
</span> </span>
</a-table> </a-table>
</div> </div>
<listAddModel ref="addModelRef"/> <listAddModel :url="url" ref="addModelRef"/>
<listEditModel ref="editModelRef"/> <listEditModel :url="url" ref="editModelRef"/>
</a-card> </a-card>
</template> </template>
@@ -104,6 +116,7 @@
import ImportFile from '@/components/ImportFile/index' import ImportFile from '@/components/ImportFile/index'
import listAddModel from './listAddModel' import listAddModel from './listAddModel'
import listEditModel from './listEditModel' import listEditModel from './listEditModel'
import { getAction, postAction, downloadFile, deleteAction } from '@/api/manage'
export default { export default {
name: 'listOfRegulations', name: 'listOfRegulations',
@@ -118,14 +131,17 @@
{ {
title: 'WVTA ID', title: 'WVTA ID',
align: 'center', align: 'center',
dataIndex: 'WVTAID', dataIndex: 'wvtaId',
width: 100, width: 100,
ellipsis: true,
fixed: 'left' fixed: 'left'
}, },
{ {
title: this.$t('standard'), title: this.$t('standard'),
align: 'center', align: 'center',
dataIndex: 'standard', dataIndex: 'serialNumber',
width: 180,
ellipsis: true,
fixed: 'left' fixed: 'left'
}, },
{ {
@@ -133,6 +149,7 @@
align: 'center', align: 'center',
dataIndex: 'title', dataIndex: 'title',
width: 100, width: 100,
ellipsis: true,
fixed: 'left' fixed: 'left'
}, },
{ {
@@ -140,84 +157,102 @@
align: 'center', align: 'center',
dataIndex: 'subtitle', dataIndex: 'subtitle',
width: 100, width: 100,
ellipsis: true,
fixed: 'left' fixed: 'left'
}, },
{ // {
title: this.$t('taskReleaseStatus'), // title: this.$t('taskReleaseStatus'),
align: 'center', // align: 'center',
dataIndex: 'taskReleaseStatus' // dataIndex: 'taskReleaseStatus'
}, // },
{ {
title: this.$t('correspondingStandard'), title: this.$t('correspondingStandard'),
align: 'center', align: 'center',
ellipsis: true,
dataIndex: 'correspondingStandard' dataIndex: 'correspondingStandard'
}, },
{ {
title: this.$t('implementationCategory'), title: this.$t('implementationCategory'),
align: 'center', align: 'center',
dataIndex: 'implementationCategory' ellipsis: true,
dataIndex: 'implementType'
}, },
{ {
title: this.$t('ImplementationDate'), title: this.$t('ImplementationDate'),
align: 'center', align: 'center',
dataIndex: 'ImplementationDate' ellipsis: true,
dataIndex: 'xin1Che1Xing2Shi2Shi1Ri4Qi1'
}, },
{ {
title: this.$t('vehicleInProductionDate'), title: this.$t('vehicleInProductionDate'),
align: 'center', align: 'center',
dataIndex: 'vehicleInProductionDate' ellipsis: true,
dataIndex: 'implementTime'
}, },
{ {
title: this.$t('certificationType'), title: this.$t('certificationType'),
align: 'center', align: 'center',
dataIndex: 'certificationType' ellipsis: true,
dataIndex: 'attestationType_dictText'
}, },
{ {
title: this.$t('certificationLevel'), title: this.$t('certificationLevel'),
align: 'center', align: 'center',
dataIndex: 'certificationLevel' ellipsis: true,
dataIndex: 'attestationRank_dictText'
}, },
//
{ {
title: this.$t('areaOfResponsibility'), title: this.$t('areaOfResponsibility'),
align: 'center', align: 'center',
dataIndex: 'areaOfResponsibility' ellipsis: true,
dataIndex: 'dutyTerritory_dictText'
}, },
{ {
title: this.$t('regulatoryEngineer'), title: this.$t('regulatoryEngineer'),
align: 'center', align: 'center',
dataIndex: 'regulatoryEngineer' ellipsis: true,
dataIndex: 'regulationOwnerName'
},
{
title: this.$t('certifiedEngineer'),
align: 'center',
ellipsis: true,
dataIndex: 'homologationEngineerName'
}, },
{ {
title: this.$t('engineeringInterfacePerson'), title: this.$t('engineeringInterfacePerson'),
align: 'center', align: 'center',
dataIndex: 'engineeringInterfacePerson' ellipsis: true,
dataIndex: 'engineeringInterfacePersonName'
}, },
{ {
title: this.$t('remarks'), title: this.$t('remarks'),
align: 'center', align: 'center',
dataIndex: 'remarks' ellipsis: true,
dataIndex: 'remark'
}, },
{ {
title: this.$t('confirmationOfDesignConformity'), title: this.$t('confirmationOfDesignConformity'),
children: [ children: [
{ {
title: this.$t('task'), title: this.$t('Deliverables'),
dataIndex: 'task', dataIndex: 'designDeliverableTemplate',
align: 'center' align: 'center'
}, },
{ {
title: this.$t('Sponsor'), title: this.$t('Sponsor'),
dataIndex: 'Sponsor', dataIndex: 'designInitiator',
align: 'center' align: 'center'
}, },
{ {
title: this.$t('personLiable'), title: this.$t('personLiable'),
dataIndex: 'personLiable', dataIndex: 'designDuty',
align: 'center' align: 'center'
}, },
{ {
title: this.$t('TaskCutOffTime'), title: this.$t('TaskCutOffTime'),
dataIndex: 'TaskCutOffTime', dataIndex: 'designDueDate',
align: 'center' align: 'center'
} }
] ]
@@ -226,23 +261,23 @@
title: this.$t('PrehomoConfirmation'), title: this.$t('PrehomoConfirmation'),
children: [ children: [
{ {
title: this.$t('task'), title: this.$t('Deliverables'),
dataIndex: 'task', dataIndex: 'prehomoDeliverableTemplate',
align: 'center' align: 'center'
}, },
{ {
title: this.$t('Sponsor'), title: this.$t('Sponsor'),
dataIndex: 'Sponsor', dataIndex: 'prehomoInitiator',
align: 'center' align: 'center'
}, },
{ {
title: this.$t('personLiable'), title: this.$t('personLiable'),
dataIndex: 'personLiable', dataIndex: 'prehomoDuty',
align: 'center' align: 'center'
}, },
{ {
title: this.$t('TaskCutOffTime'), title: this.$t('TaskCutOffTime'),
dataIndex: 'TaskCutOffTime', dataIndex: 'prehomoDueDate',
align: 'center' align: 'center'
} }
] ]
@@ -251,27 +286,33 @@
title: this.$t('verificationAndConformityconfirmation'), title: this.$t('verificationAndConformityconfirmation'),
children: [ children: [
{ {
title: this.$t('task'), title: this.$t('Deliverables'),
dataIndex: 'task', dataIndex: 'verifyDeliverableTemplate',
align: 'center' align: 'center'
}, },
{ {
title: this.$t('Sponsor'), title: this.$t('Sponsor'),
dataIndex: 'Sponsor', dataIndex: 'verifyInitiator',
align: 'center' align: 'center'
}, },
{ {
title: this.$t('personLiable'), title: this.$t('personLiable'),
dataIndex: 'personLiable', dataIndex: 'verifyDuty',
align: 'center' align: 'center'
}, },
{ {
title: this.$t('TaskCutOffTime'), title: this.$t('TaskCutOffTime'),
dataIndex: 'TaskCutOffTime', dataIndex: 'verifyDueDate',
align: 'center' align: 'center'
} }
] ]
}, },
{
title: this.$t('taskAffirmStatus'),
align: 'center',
ellipsis: true,
dataIndex: 'taskAffirmStatusName'
},
{ {
title: this.$t('operation'), title: this.$t('operation'),
align: 'center', align: 'center',
@@ -282,12 +323,19 @@
], ],
selectedRowKeys: [], selectedRowKeys: [],
queryParam: {}, queryParam: {},
url: {}, url: {
list: '/project/projectLawsInventoryEO/list',
add: 'project/projectLawsInventoryEO/add',
edit: '/project/projectLawsInventoryEO/edit',
deleteBatch: '/project/projectLawsInventoryEO/deleteBatch',
deleteOne: '/project/projectLawsInventoryEO/delete'
},
loading: false, loading: false,
dataSource: [] dataSource: []
} }
}, },
mounted() { mounted() {
this.getList()
}, },
methods: { methods: {
handleModule() { handleModule() {
@@ -306,22 +354,70 @@
this.$refs.addModelRef.addModel() this.$refs.addModelRef.addModel()
}, },
handleDel() { handleDel() {
this.$refs.editModelRef.editModel() if (this.selectedRowKeys.length > 0) {
let _this = this
this.$confirm({
content: _this.$t('ConfirmBatchDeletion'),
onOk() {
let idList = JSON.parse(JSON.stringify(_this.selectedRowKeys))
deleteAction(_this.url.deleteBatch, { ids: idList.join(',') }).then((res) => {
if (res.success) {
_this.$message.success(_this.$t('OperationSuccessful'))
_this.selectedRowKeys = []
_this.getList()
} else {
_this.$message.warning(_this.$t('operationFailed'))
}
})
}
})
} else {
this.$message.warning(this.$t('selectLeastOne'))
}
}, },
edit() { edit(item) {
this.$refs.editModelRef.editModel(JSON.parse(JSON.stringify(item)))
}, },
deleteLib() { deleteLib(val) {
let _this = this
this.$confirm({
content: _this.$t('ConfirmDelete'),
onOk() {
deleteAction(_this.url.deleteOne, { id: val.id }).then((res) => {
if (res.success) {
_this.$message.success(_this.$t('OperationSuccessful'))
_this.getList()
} else {
_this.$message.warning(_this.$t('operationFailed'))
}
})
}
})
}, },
onSelectChange() { onSelectChange(value) {
this.selectedRowKeys = value
}, },
searchQuery() { searchQuery() {
this.getList()
}, },
searchReset() { searchReset() {
this.queryParam = {}
this.getList()
},
getList() {
let query = {
...this.queryParam,
projectLibraryId: this.$route.query.id
}
this.loading = true
getAction(this.url.list, query).then((res) => {
if (res.success) {
this.dataSource = res.result
this.loading = false
} else {
this.loading = false
}
})
} }
} }
} }
@@ -398,15 +494,14 @@
} }
.title-text { .title-text {
width: 20%; width: 32px;
min-width: 110px;
color: #000F16; color: #000F16;
display: inline-block; display: inline-block;
font-weight: 500; font-weight: 500;
font-size: 14px; font-size: 14px;
margin-right: 16px; margin-right: 16px;
margin-top: 3px; margin-top: 3px;
text-align: right; text-align: left;
white-space: nowrap; white-space: nowrap;
overflow: hidden; overflow: hidden;
text-overflow: ellipsis; text-overflow: ellipsis;