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

This commit is contained in:
wangzhijiang
2023-03-28 10:10:27 +08:00
24 changed files with 559 additions and 487 deletions
@@ -239,6 +239,7 @@ public class OtaBaCxAqcsServiceImpl extends ServiceImpl<OtaBaCxAqcsMapper, OtaBa
@Override @Override
public void exportData(File file, File attFile, String otaId, String cut) throws Exception { public void exportData(File file, File attFile, String otaId, String cut) throws Exception {
OtaBaCxAqcs aqcs = getByOtaId(otaId); OtaBaCxAqcs aqcs = getByOtaId(otaId);
if (ObjectUtils.isNotEmpty(aqcs)) {
Workbook wb = ImportFileUtil.readExcel(file); Workbook wb = ImportFileUtil.readExcel(file);
Sheet s = wb.getSheetAt(0); Sheet s = wb.getSheetAt(0);
@@ -281,3 +282,4 @@ public class OtaBaCxAqcsServiceImpl extends ServiceImpl<OtaBaCxAqcsMapper, OtaBa
cell.setCellValue(sb.toString()); cell.setCellValue(sb.toString());
} }
} }
}
@@ -239,6 +239,7 @@ public class OtaBaCxJbxxServiceImpl extends ServiceImpl<OtaBaCxJbxxMapper, OtaBa
@Override @Override
public void exportData(File file, String otaId, String cut) throws Exception { public void exportData(File file, String otaId, String cut) throws Exception {
OtaBaCxJbxx jbxx = this.getByOtaId(otaId); OtaBaCxJbxx jbxx = this.getByOtaId(otaId);
if (ObjectUtils.isNotEmpty(jbxx)) {
Workbook wb = ImportFileUtil.readExcel(file); Workbook wb = ImportFileUtil.readExcel(file);
Sheet s = wb.getSheetAt(0); Sheet s = wb.getSheetAt(0);
@@ -281,3 +282,4 @@ public class OtaBaCxJbxxServiceImpl extends ServiceImpl<OtaBaCxJbxxMapper, OtaBa
wb.close(); wb.close();
} }
} }
}
@@ -583,6 +583,7 @@ public class OtaBaCxJsfzbacsServiceImpl extends ServiceImpl<OtaBaCxJsfzbacsMappe
@Override @Override
public void exportData(File file, String otaId, String cut) throws Exception { public void exportData(File file, String otaId, String cut) throws Exception {
OtaBaCxJsfzbacs bass = getByOtaId(otaId); OtaBaCxJsfzbacs bass = getByOtaId(otaId);
if (ObjectUtils.isNotEmpty(bass)) {
Workbook wb = ImportFileUtil.readExcel(file); Workbook wb = ImportFileUtil.readExcel(file);
Sheet s = wb.getSheetAt(0); Sheet s = wb.getSheetAt(0);
bass.setOtaId(otaId); bass.setOtaId(otaId);
@@ -859,6 +860,6 @@ public class OtaBaCxJsfzbacsServiceImpl extends ServiceImpl<OtaBaCxJsfzbacsMappe
cell.setCellValue(sjmk.getBzwz()); cell.setCellValue(sjmk.getBzwz());
startRow++; startRow++;
} }
}
} }
} }
@@ -365,6 +365,9 @@ public class OtaBaCxKsjxtmccsServiceImpl extends ServiceImpl<OtaBaCxKsjxtmccsMap
startRow++; startRow++;
} }
Row row = s.getRow(startRow); Row row = s.getRow(startRow);
if(null == row){
row = s.createRow(startRow);
}
Cell cell = row.createCell(0); Cell cell = row.createCell(0);
cell.setCellValue("证明材料"); cell.setCellValue("证明材料");
cell = row.getCell(1); cell = row.getCell(1);
@@ -258,6 +258,7 @@ public class OtaBaCxZxsjyqServiceImpl extends ServiceImpl<OtaBaCxZxsjyqMapper, O
@Override @Override
public void exportData(File file, File attFile, String otaId, String cut) throws Exception { public void exportData(File file, File attFile, String otaId, String cut) throws Exception {
OtaBaCxZxsjyq otaBaCxZxsjyq = this.getByOtaId(otaId); OtaBaCxZxsjyq otaBaCxZxsjyq = this.getByOtaId(otaId);
if (ObjectUtils.isNotEmpty(otaBaCxZxsjyq)) {
Workbook wb = ImportFileUtil.readExcel(file); Workbook wb = ImportFileUtil.readExcel(file);
Sheet s = wb.getSheetAt(0); Sheet s = wb.getSheetAt(0);
Row row = s.getRow(2); Row row = s.getRow(2);
@@ -313,3 +314,4 @@ public class OtaBaCxZxsjyqServiceImpl extends ServiceImpl<OtaBaCxZxsjyqMapper, O
cell.setCellValue(sb.toString()); cell.setCellValue(sb.toString());
} }
} }
}
+4
View File
@@ -1717,10 +1717,14 @@ module.exports = {
complianceReporting:'Compliance Reporting', complianceReporting:'Compliance Reporting',
youCanOnlySelectStatusClearSubmit:'You can only select data with a process status of Clear to Submit', youCanOnlySelectStatusClearSubmit:'You can only select data with a process status of Clear to Submit',
note:'Note: The attachment includes the list of test items and test report. Test standard or technical specification', note:'Note: The attachment includes the list of test items and test report. Test standard or technical specification',
notecsv:'Note: CSV format is supported. The value is within 20M',
format:'It supports doc/docx/pdf format and is less than 50M in size', format:'It supports doc/docx/pdf format and is less than 50M in size',
cantTransferToYourself:"Can't transfer to yourself", cantTransferToYourself:"Can't transfer to yourself",
theDataYouInitiate:'The data you selected does not meet the process initiation criteria. Please recheck and initiate', theDataYouInitiate:'The data you selected does not meet the process initiation criteria. Please recheck and initiate',
dataWithProcessReleasedCannotBeReset:'Data with a process status of list to be released cannot be reset', dataWithProcessReleasedCannotBeReset:'Data with a process status of list to be released cannot be reset',
reasonForReturnOfDesignCompliance:'Reason for return of design compliance', reasonForReturnOfDesignCompliance:'Reason for return of design compliance',
noteone:'Note: CSV format is supported. The value is within 20M and the number is 1 to 10', noteone:'Note: CSV format is supported. The value is within 20M and the number is 1 to 10',
notetwo:'\n1. Provide the modified or expanded batch of "Announcement" and supporting materials;\n2. Verification materials shall be submitted to ensure that products meet the relevant requirements of national laws and regulations, technologies, standards and technical specifications;\n',
notethree:'Provide supporting materials',
verifyComplianceConfirmReturnReason:'Verify compliance Confirm return reason',
} }
+6 -2
View File
@@ -1821,8 +1821,12 @@ module.exports = {
note:':附件包括测试项目清单测试报告测试标准或技术规范', note:':附件包括测试项目清单测试报告测试标准或技术规范',
format:'支持doc/docx/pdf格式,大小50M以内', format:'支持doc/docx/pdf格式,大小50M以内',
cantTransferToYourself:"不能转办给自己", cantTransferToYourself:"不能转办给自己",
noteone:':支持CSV格式大小20M以内数量1-10个', noteone:':支持CSV格式大小20M以内数量1-20个',
notecsv:':支持CSV格式大小20M以内',
theDataYouInitiate:'您所选的数据均不符合流程发起条件请重新检查后发起', theDataYouInitiate:'您所选的数据均不符合流程发起条件请重新检查后发起',
dataWithProcessReleasedCannotBeReset:'流程状态为清单待发布的数据不能被重置', dataWithProcessReleasedCannotBeReset:'流程状态为清单待发布的数据不能被重置',
reasonForReturnOfDesignCompliance:'设计符合性退回原因', reasonForReturnOfDesignCompliance:'设计符合性确认退回原因',
notetwo:'\n1提供变更或扩展后的公告批次及证明材料;\n2应提交验证材料保障产品符合国家法律法规技术标准及技术规范等相关要求;\n',
notethree:'\n提供证明材料\n',
verifyComplianceConfirmReturnReason:'验证符合性确认退回原因',
} }
@@ -66,6 +66,7 @@
formInline.VINcodelist == null) ? $t('clickUpload') : $t('viewUploadedFiles') formInline.VINcodelist == null) ? $t('clickUpload') : $t('viewUploadedFiles')
}} }}
</a-button> </a-button>
<p>{{$t('notecsv')}}</p>
</a-form-model-item> </a-form-model-item>
</div> </div>
</a-col> </a-col>
@@ -123,6 +124,7 @@
formInline.VINcodelist == null) ? $t('clickUpload') : $t('viewUploadedFiles') formInline.VINcodelist == null) ? $t('clickUpload') : $t('viewUploadedFiles')
}} }}
</a-button> </a-button>
<p style='width: 243px'>{{$t('format')}}</p>
</a-form-model-item> </a-form-model-item>
</div> </div>
</a-col> </a-col>
@@ -151,11 +153,12 @@
</div> </div>
<a-form-model-item class="itemModel" prop="VINcodelist"> <a-form-model-item class="itemModel" prop="VINcodelist">
<a-button type="primary" class="button-text" <a-button type="primary" class="button-text"
@click="clickButtonToUpload('VINcodelist')"> @click="clickButtonToUpload('VINcodelist1')">
{{ (formInline.VINcodelist === 'null' || formInline.VINcodelist === '' || {{ (formInline.VINcodelist === 'null' || formInline.VINcodelist === '' ||
formInline.VINcodelist == null) ? $t('clickUpload') : $t('viewUploadedFiles') formInline.VINcodelist == null) ? $t('clickUpload') : $t('viewUploadedFiles')
}} }}
</a-button> </a-button>
<p>{{$t('format')}}</p>
</a-form-model-item> </a-form-model-item>
</div> </div>
</a-col> </a-col>
@@ -167,7 +170,7 @@
<a-button type="primary" @click="handleSubmit" :loading="confirmLoading">{{$t('submit')}}</a-button> <a-button type="primary" @click="handleSubmit" :loading="confirmLoading">{{$t('submit')}}</a-button>
</div> </div>
</a-drawer> </a-drawer>
<uploadFile ref="uploadFile" @uploadSuccess="uploadSuccess"/> <uploadFile ref="uploadFile" :acceptcode="acceptcode" @uploadSuccess="uploadSuccess"/>
</div> </div>
</template> </template>
@@ -189,6 +192,7 @@ export default {
disabled: false, disabled: false,
formInline: {}, formInline: {},
confirmLoading: false, confirmLoading: false,
acceptcode:'',
projectNameList: [], projectNameList: [],
DeliverableTreeList: [], DeliverableTreeList: [],
rules: { rules: {
@@ -302,6 +306,11 @@ export default {
}) })
}, },
clickButtonToUpload(item) { clickButtonToUpload(item) {
if(item == 'VINcodelist'){
this.acceptcode = 'csv'
}else {
this.acceptcode = 'doc,docx,pdf'
}
this.$refs.uploadFile.perentHandleFunc() this.$refs.uploadFile.perentHandleFunc()
this.$refs.uploadFile.visible = true this.$refs.uploadFile.visible = true
this.uploadName = item this.uploadName = item
@@ -288,7 +288,7 @@ export default {
align: 'left', align: 'left',
ellipsis: true, ellipsis: true,
width: 170, width: 170,
dataIndex: 'cjsj' dataIndex: 'createTime'
}, },
{ {
title: this.$t('remarks'), title: this.$t('remarks'),
@@ -450,6 +450,7 @@ export default {
// 维护 // 维护
maintenanceClick(row){ maintenanceClick(row){
this.$refs.maintenanceRef.edit(row) this.$refs.maintenanceRef.edit(row)
console.log(row);
}, },
// 数据维护 // 数据维护
maintenanceallClick(){ maintenanceallClick(){
@@ -53,7 +53,11 @@
</span> </span>
</a-table> </a-table>
<div> <div>
<a-button @click="clickButtonToUpload" type="primary">{{$t('uploadattachment')}}</a-button> <a-button type="primary" @click="clickButtonToUpload(fileList)">
{{ (fileList === 'null' || fileList === '' ||
fileList == null) ? $t('uploadattachment') : $t('viewUploadedFiles')
}}
</a-button>
<div style='margin-top: 20px'> <div style='margin-top: 20px'>
<p>{{$t('note')}}</p> <p>{{$t('note')}}</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;{{$t('format')}}</p> <p>&nbsp;&nbsp;&nbsp;&nbsp;{{$t('format')}}</p>
@@ -64,7 +68,7 @@
<a-button type="primary" style='width: 73px;margin-right: 50px' @click='last'>{{$t('last')}}</a-button> <a-button type="primary" style='width: 73px;margin-right: 50px' @click='last'>{{$t('last')}}</a-button>
<a-button type="primary" style='width: 73px' @click='next'>{{$t('next')}}</a-button> <a-button type="primary" style='width: 73px' @click='next'>{{$t('next')}}</a-button>
</div> </div>
<uploadFile ref="uploadFile" @uploadSuccess="uploadSuccess"></uploadFile> <uploadFile ref="uploadFile" :acceptcode="'doc,docx,pdf'" @uploadSuccess="uploadSuccess"></uploadFile>
</div> </div>
</template> </template>
@@ -86,6 +90,7 @@ export default {
} }
], ],
fileList:'',
loading: false, loading: false,
disable:false, disable:false,
columns: [ columns: [
@@ -216,14 +221,39 @@ export default {
} }
getAction('/ota/otaBaSjSjfzbh/queryByOtaId',{otaIdT:otaIdT,otaId:otaId}).then(res=>{ getAction('/ota/otaBaSjSjfzbh/queryByOtaId',{otaIdT:otaIdT,otaId:otaId}).then(res=>{
this.dataSource =res.result.list == null ? {} : res.result.list this.dataSource =res.result.list == null ? {} : res.result.list
this.fileList = res.result.fj
}) })
}, },
save(){ save(){
postAction('/ota/otaBaSjSjfzbh/add' ,{otaId:localStorage.getItem('otaId')== undefined ? '' :localStorage.getItem('otaId'),list:this.dataSource}).then(res=>{ postAction('/ota/otaBaSjSjfzbh/add' ,{otaId:localStorage.getItem('otaId')== undefined ? '' :localStorage.getItem('otaId'),list:this.dataSource,fj:this.fileList}).then(res=>{
console.log(res); console.log(res);
this.$message.success(this.$t('SavedSuccessfully')) this.$message.success(this.$t('SavedSuccessfully'))
}) })
}, },
uploadSuccess(data) {
let attIdList = []
if (data && data.length > 0) {
data.map(item => {
attIdList.push(item.id || data.name)
})
}
this.$forceUpdate()
// /** 赋值给当前对应的表单文件 */
this.fileList = attIdList.join(',')
// this.fileList.certifyingmaterials = this.$t('viewFile')
},
clickButtonToUpload(current) {
this.$refs.uploadFile.perentHandleFunc()
this.$refs.uploadFile.visible = true
this.uploadName = current
getAction('sys/common/getFileInfos', { id: current }).then((res) => {
if (res.success) {
this.$refs.uploadFile.perentHandleFunc(res.result)
} else {
this.$refs.uploadFile.perentHandleFunc()
}
})
},
last(){ last(){
this.save() this.save()
this.$emit('beupgradedonlineup') this.$emit('beupgradedonlineup')
@@ -239,20 +269,6 @@ export default {
deleteData(record){ deleteData(record){
this.dataSource.splice(this.dataSource.indexOf(record),1) this.dataSource.splice(this.dataSource.indexOf(record),1)
}, },
uploadSuccess(data) {
let attIdList = []
if (data && data.length > 0) {
data.map(item => {
attIdList.push({
id:item.id,
fileName:item.fileName
})
})
}
/** 赋值给当前对应的表单文件 */
this.fileList.uploadName = attIdList
this.fileList.certifyingmaterials = this.$t('viewFile')
},
} }
} }
</script> </script>
@@ -72,15 +72,15 @@
<!-- <span class="Required">*</span>--> <!-- <span class="Required">*</span>-->
<span class="title-text-text"></span> <span class="title-text-text"></span>
</div> </div>
<a-form-model-item class="itemModel" prop="VINcodelist"> <a-form-model-item class="itemModel" prop="csv">
<a-button type="primary" class="button-text" <a-button type="primary" class="button-text"
@click="clickButtonToUpload('VINcodelist')"> @click="clickButtonToUpload('csv')">
{{ (formInline.VINcodelist === 'null' || formInline.VINcodelist === '' || {{ (formInline.csv === 'null' || formInline.csv === '' ||
formInline.VINcodelist == null) ? $t('VINcodeupload') : $t('viewUploadedFiles') formInline.csv == null) ? $t('VINcodeupload') : $t('viewUploadedFiles')
}} }}
</a-button> </a-button>
<p>{{$t('noteone')}}</p> <p>{{$t('noteone')}}</p>
<uploadFile ref="uploadFile" @uploadSuccess="uploadSuccess"></uploadFile> <uploadFile ref="uploadFile" :acceptcode="'csv'" @uploadSuccess="uploadSuccess"></uploadFile>
</a-form-model-item> </a-form-model-item>
</div> </div>
</a-col> </a-col>
@@ -139,6 +139,7 @@ export default {
if(res.code==200){ if(res.code==200){
this.formInline.zsl=res.result.zsl this.formInline.zsl=res.result.zsl
this.formInline.vinList=res.result.vinList this.formInline.vinList=res.result.vinList
this.formInline.csv=res.result.csv
this.formInline.dateofproduction=[] this.formInline.dateofproduction=[]
this.formInline.dateofproduction.push(res.result.scrqks) this.formInline.dateofproduction.push(res.result.scrqks)
this.formInline.dateofproduction.push(res.result.scrqjs) this.formInline.dateofproduction.push(res.result.scrqjs)
@@ -152,6 +153,7 @@ export default {
let obj={} let obj={}
obj.otaId=localStorage.getItem('otaId') obj.otaId=localStorage.getItem('otaId')
obj.zsl = this.formInline.zsl obj.zsl = this.formInline.zsl
obj.csv = this.formInline.csv
if(this.formInline.dateofproduction){ if(this.formInline.dateofproduction){
obj.scrqks = this.formInline.dateofproduction[0] obj.scrqks = this.formInline.dateofproduction[0]
obj.scrqjs = this.formInline.dateofproduction[1] obj.scrqjs = this.formInline.dateofproduction[1]
@@ -188,6 +190,25 @@ export default {
} }
}) })
}, },
/** 上传文件的回调 */
uploadSuccess(data) {
// console.log(data)
let attIdList = []
if(data && data.length>0){
data.map(item => {
attIdList.push(item.id || data.name)
})
/** 赋值给当前对应的表单文件 */
this.formInline.csv = attIdList.join(',')
this.formInline = { ...this.formInline }
// console.log('form',this.formInline)
}else{
this.formInline.csv = ''
this.formInline = { ...this.formInline }
// console.log('form',this.formInline)
}
},
} }
} }
</script> </script>
@@ -62,8 +62,10 @@
</a-radio-group> </a-radio-group>
</span> </span>
</a-layout-content> </a-layout-content>
<a-layout-content style='border: black solid 1px;border-left: none;border-bottom: none;max-width: 522px'> <a-layout-content style='border: black solid 1px;border-left: none;border-bottom: none;max-width: 428px'>
<a-button style='margin-top: 20%;margin-left: 10%;' @click="clickButtonToUpload" type="primary">{{$t('uploadattachment')}}</a-button> <a-button style='margin-top: 15%;margin-left: 10%;' @click="clickButtonToUpload" type="primary">{{$t('uploadattachment')}}</a-button>
<span class="spanone">{{$t('notetwo')}}</span>
<span class="spanone">{{$t('format')}}</span>
</a-layout-content> </a-layout-content>
</a-layout> </a-layout>
<div class='box-layout'> <div class='box-layout'>
@@ -133,7 +135,9 @@
</span> </span>
</div> </div>
<div class='layout-box-three'> <div class='layout-box-three'>
<a-button style='margin-top: 20%;margin-left: 10%;' @click="clickButtonToUpload" type="primary">{{$t('uploadattachment')}}</a-button> <a-button style='margin-top: 15%;margin-left: 10%;' @click="clickButtonToUpload" type="primary">{{$t('uploadattachment')}}</a-button>
<span class="spanone">{{$t('notethree')}}</span>
<span class="spanone">{{$t('format')}}</span>
</div> </div>
</div> </div>
</a-layout> </a-layout>
@@ -142,7 +146,7 @@
<a-button type="primary" style='width: 73px;margin-right: 50px' @click='last'>{{$t('last')}}</a-button> <a-button type="primary" style='width: 73px;margin-right: 50px' @click='last'>{{$t('last')}}</a-button>
<a-button type="primary" style='width: 73px' @click='next'>{{$t('next')}}</a-button> <a-button type="primary" style='width: 73px' @click='next'>{{$t('next')}}</a-button>
</div> </div>
<uploadFile ref="uploadFile" @uploadSuccess="uploadSuccess"></uploadFile> <uploadFile ref="uploadFile" :acceptcode="'doc,docx,pdf'" @uploadSuccess="uploadSuccess"></uploadFile>
</div> </div>
</template> </template>
@@ -327,7 +331,7 @@ this.$forceUpdate()
this.$refs.uploadFile.perentHandleFunc() this.$refs.uploadFile.perentHandleFunc()
this.$refs.uploadFile.visible = true this.$refs.uploadFile.visible = true
this.uploadName = item this.uploadName = item
getAction('sys/common/getFileInfos', { id: this.formInline[item] }).then((res) => { getAction('sys/common/getFileInfos', { id: this.form[item] }).then((res) => {
if (res.success) { if (res.success) {
this.$refs.uploadFile.perentHandleFunc(res.result) this.$refs.uploadFile.perentHandleFunc(res.result)
} else { } else {
@@ -335,33 +339,22 @@ this.$forceUpdate()
} }
}) })
}, },
getList() { uploadSuccess(data) {
let queryParam = JSON.parse(JSON.stringify(this.queryParam)) let attIdList = []
Object.keys(queryParam).forEach(val => { if(data && data.length>0){
if (queryParam[val] instanceof Array) { data.map(item => {
queryParam[val] = queryParam[val].join(',') attIdList.push(item.id || data.name)
}
}) })
let query = { /** 赋值给当前对应的表单文件 */
pageNo: this.pageNo, this.form[this.uploadName] = attIdList.join(',')
pageSize: this.pageSize, this.form = { ...this.form }
...queryParam // console.log('form',this.formInline)
}
this.loading = true
getAction(this.url.list, query).then((res) => {
if (res.success) {
if (res.result.current > 1 && res.result.records.length == 0) {
this.pageNo = 1
this.getList()
return
}
this.dataSource = res.result.records || []
this.total = res.result.total
this.loading = false
}else{ }else{
this.loading = false this.form[this.uploadName] = ''
this.form = { ...this.form }
// console.log('form',this.formInline)
} }
})
}, },
getData(){ getData(){
let otaIdT=localStorage.getItem('otaIdT') let otaIdT=localStorage.getItem('otaIdT')
@@ -407,20 +400,6 @@ this.$forceUpdate()
this.save() this.save()
this.$emit('safetyPrecautionsdown') this.$emit('safetyPrecautionsdown')
}, },
uploadSuccess(data) {
let attIdList = []
if (data && data.length > 0) {
data.map(item => {
attIdList.push({
id:item.id,
fileName:item.fileName
})
})
}
/** 赋值给当前对应的表单文件 */
this.fileList.uploadName = attIdList
this.fileList.certifyingmaterials = this.$t('viewFile')
},
} }
} }
</script> </script>
@@ -464,7 +443,7 @@ this.$forceUpdate()
} }
::v-deep .ant-layout-content { ::v-deep .ant-layout-content {
min-height: 60px; min-height: 60px;
line-height: 50px; line-height: 20px;
} }
//::v-deep > .ant-layout { //::v-deep > .ant-layout {
// margin-bottom: 48px; // margin-bottom: 48px;
@@ -542,4 +521,9 @@ this.$forceUpdate()
height: 50px; height: 50px;
margin-top: 8px; margin-top: 8px;
} }
.spanone{
white-space: pre-wrap;
padding: 0 45px;
display: flex;
}
</style> </style>
@@ -170,7 +170,7 @@
<a-button type="primary" style='width: 73px;margin-right: 50px' @click='last'>{{$t('last')}}</a-button> <a-button type="primary" style='width: 73px;margin-right: 50px' @click='last'>{{$t('last')}}</a-button>
<a-button type="primary" style='width: 73px' @click='next'>{{$t('next')}}</a-button> <a-button type="primary" style='width: 73px' @click='next'>{{$t('next')}}</a-button>
</div> </div>
<uploadFile ref="uploadFile" @uploadSuccess="uploadSuccess"></uploadFile> <uploadFile ref="uploadFile" :acceptcode="'doc,docx,pdf'" @uploadSuccess="uploadSuccess"></uploadFile>
</div> </div>
</template> </template>
@@ -150,13 +150,6 @@
<span class="title-text-text" :title="$t('Vehicledynamictype')">{{$t('Vehicledynamictype')}}</span> <span class="title-text-text" :title="$t('Vehicledynamictype')">{{$t('Vehicledynamictype')}}</span>
</div> </div>
<a-form-model-item class="itemModel" style="width: 38%"> <a-form-model-item class="itemModel" style="width: 38%">
<!-- <j-dict-select-tag class="box-input"
:disabled="disabled"
@change="projectNameChange"
:placeholder="$t('PleaseSelect')"
:type="'select'"
:triggerChange="false"
v-model="form.Vehicledynamictype"/> -->
<a-select class="box-input" v-model="form.dllx1" :disabled="disabled" :placeholder="$t('PleaseSelect')" @change="changeSelect($event,target)"> <a-select class="box-input" v-model="form.dllx1" :disabled="disabled" :placeholder="$t('PleaseSelect')" @change="changeSelect($event,target)">
<a-select-option v-for="(item, key) in projectNameList1" <a-select-option v-for="(item, key) in projectNameList1"
:key="key" :key="key"
@@ -181,7 +174,7 @@
</a-col> </a-col>
<a-col :span="24"> <a-col :span="24">
<div class="box-title-text-add"> <div class="box-title-text-add">
<div class="title-text-add"> <div class="title-text-add plus">
<span class="title-text-text " :title="$t('communicationTerminal')">{{$t('communicationTerminal')}}</span> <span class="title-text-text " :title="$t('communicationTerminal')">{{$t('communicationTerminal')}}</span>
</div> </div>
<a-form-model-item class="itemModel"> <a-form-model-item class="itemModel">
@@ -197,7 +190,7 @@
</a-col> </a-col>
<a-col :span="24"> <a-col :span="24">
<div class="box-title-text-add"> <div class="box-title-text-add">
<div class="title-text-add"> <div class="title-text-add plus">
<span class="title-text-text" :title="$t('otaUpgradeManagementSystem')">{{$t('otaUpgradeManagementSystem')}}</span> <span class="title-text-text" :title="$t('otaUpgradeManagementSystem')">{{$t('otaUpgradeManagementSystem')}}</span>
</div> </div>
<a-form-model-item class="itemModel"> <a-form-model-item class="itemModel">
@@ -371,6 +364,7 @@ import { message } from 'ant-design-vue'
if(res.code == 200){ if(res.code == 200){
localStorage.setItem('otaId', res.result.otaId) localStorage.setItem('otaId', res.result.otaId)
this.$message.success(this.$t('SavedSuccessfully')) this.$message.success(this.$t('SavedSuccessfully'))
this.getData()
} }
}) })
} }
@@ -416,9 +410,9 @@ import { message } from 'ant-design-vue'
font-weight: 500; font-weight: 500;
font-size: 14px; font-size: 14px;
margin-right: 16px; margin-right: 16px;
overflow: hidden; // overflow: hidden;
text-overflow: ellipsis; // text-overflow: ellipsis;
white-space: nowrap; // white-space: nowrap;
height: 42px; height: 42px;
line-height: 42px; line-height: 42px;
margin-top: 3px; margin-top: 3px;
@@ -475,4 +469,13 @@ import { message } from 'ant-design-vue'
color: red; color: red;
margin-right: 3px; margin-right: 3px;
} }
.plus{
margin-top: 5px;
line-height: 1.4 !important;
}
.plus2{
width: 134px;
margin-top: 5px;
line-height: 1.4 !important;
}
</style> </style>
@@ -75,10 +75,10 @@
<a-input :placeholder="$t('pleaseEnter')" v-model="record.rjkfqy" :max-length="500"></a-input> <a-input :placeholder="$t('pleaseEnter')" v-model="record.rjkfqy" :max-length="500"></a-input>
</span> </span>
<span slot="operatingsystemversion" slot-scope="text,record"> <span slot="operatingsystemversion" slot-scope="text,record">
<a-input :placeholder="$t('pleaseEnter')" v-model="record.rjkfqy" :max-length="500"></a-input> <a-input :placeholder="$t('pleaseEnter')" v-model="record.czxtbbh" :max-length="500"></a-input>
</span> </span>
<span slot="inflammatorydata" slot-scope="text,record"> <span slot="inflammatorydata" slot-scope="text,record">
<a-input :placeholder="$t('pleaseEnter')" v-model="record.czxtbbh" :max-length="500"></a-input> <a-input :placeholder="$t('pleaseEnter')" v-model="record.csyzsj" :max-length="500"></a-input>
</span> </span>
<!-- 操作列--> <!-- 操作列-->
<span slot="operation" slot-scope="text,record"> <span slot="operation" slot-scope="text,record">
@@ -362,8 +362,11 @@ import ImportFile from '@/components/ImportFileData/index'
}, },
save(){ save(){
postAction('/ota/otaBaCxKsjjsmccs/add',{otaId:localStorage.getItem('otaId'),list:this.dataSource,fj:this.fileList}).then(res =>{ postAction('/ota/otaBaCxKsjjsmccs/add',{otaId:localStorage.getItem('otaId'),list:this.dataSource,fj:this.fileList}).then(res =>{
console.log(res); if(res.code==200){
this.$message.success(this.$t('SavedSuccessfully')) this.$message.success(this.$t('SavedSuccessfully'))
this.getData()
}
}) })
}, },
last(){ last(){
@@ -70,8 +70,11 @@ export default {
if (valid) { if (valid) {
this.flag = 1 this.flag = 1
postAction('/ota/otaBaCxQt/add',{otaId:localStorage.getItem('otaId'),...this.queryParam}).then(res=>{ postAction('/ota/otaBaCxQt/add',{otaId:localStorage.getItem('otaId'),...this.queryParam}).then(res=>{
console.log(res); if(res.code==200){
this.$message.success(this.$t('SavedSuccessfully')) this.$message.success(this.$t('SavedSuccessfully'))
this.getData()
}
}) })
} else { } else {
return false; return false;
@@ -944,8 +944,11 @@ export default {
cs:arr, cs:arr,
kzq:this.dataSourceList kzq:this.dataSourceList
}).then( res => { }).then( res => {
console.log(res); if(res.code==200){
this.$message.success(this.$t('SavedSuccessfully')) this.$message.success(this.$t('SavedSuccessfully'))
this.getData()
}
}) })
}, },
@@ -249,8 +249,11 @@ import ImportFile from '@/components/ImportFileData/index'
obj.xxaqjz = this.dataSource[3].info obj.xxaqjz = this.dataSource[3].info
obj.zmclList = this.fileList.uploadName obj.zmclList = this.fileList.uploadName
postAction('/ota/otaBaCxAqcs/add',obj).then(res =>{ postAction('/ota/otaBaCxAqcs/add',obj).then(res =>{
console.log(res); if(res.code==200){
this.$message.success(this.$t('SavedSuccessfully')) this.$message.success(this.$t('SavedSuccessfully'))
this.getData()
}
}) })
}, },
last(){ last(){
@@ -295,8 +295,11 @@ export default {
obj.sjzt = this.dataSource[9].relevantverification obj.sjzt = this.dataSource[9].relevantverification
obj.zmclList = this.fileList.uploadName obj.zmclList = this.fileList.uploadName
postAction('/ota/otaBaCxZxsjyq/add', obj).then(res => { postAction('/ota/otaBaCxZxsjyq/add', obj).then(res => {
console.log(res); if(res.code==200){
this.$message.success(this.$t('SavedSuccessfully')) this.$message.success(this.$t('SavedSuccessfully'))
this.getData()
}
}) })
}, },
last() { last() {
@@ -311,6 +311,7 @@ import uploadFileOta from '@/components/uploadFileOta/file'
if(otaIdT==null){ if(otaIdT==null){
otaIdT='' otaIdT=''
} }
let randomNum = Math.floor(Math.random()*99999999999+1)
getAction('/ota/otaBaCxKsjxtmccs/queryByOtaId',{otaIdT:otaIdT,otaId:localStorage.getItem('otaId')}).then(res=>{ getAction('/ota/otaBaCxKsjxtmccs/queryByOtaId',{otaIdT:otaIdT,otaId:localStorage.getItem('otaId')}).then(res=>{
if(res.code==200){ if(res.code==200){
if(res.result.list.length==0){ if(res.result.list.length==0){
@@ -341,8 +342,9 @@ import uploadFileOta from '@/components/uploadFileOta/file'
}, },
] ]
}else{ }else{
res.result.list.forEach(item =>{ res.result.list.forEach((item,index) =>{
item.sfksj = Number(item.sfksj) item.sfksj = Number(item.sfksj)
item.key = randomNum + index
}) })
this.dataSource=res.result.list this.dataSource=res.result.list
this.fileList = res.result.fj this.fileList = res.result.fj
@@ -457,8 +459,11 @@ import uploadFileOta from '@/components/uploadFileOta/file'
}, },
save(){ save(){
postAction('/ota/otaBaCxKsjxtmccs/add',{otaId:localStorage.getItem('otaId'),list:this.dataSource,fj:this.fileList}).then(res => { postAction('/ota/otaBaCxKsjxtmccs/add',{otaId:localStorage.getItem('otaId'),list:this.dataSource,fj:this.fileList}).then(res => {
console.log(res); if(res.code==200){
this.$message.success(this.$t('SavedSuccessfully')) this.$message.success(this.$t('SavedSuccessfully'))
this.getData()
}
}) })
} }
} }
@@ -256,7 +256,7 @@ export default {
align: 'left', align: 'left',
ellipsis: true, ellipsis: true,
width: 170, width: 170,
dataIndex: 'cjsj' dataIndex: 'createTime'
}, },
{ {
title: this.$t('remarks'), title: this.$t('remarks'),
@@ -78,7 +78,7 @@
</div> </div>
<!-- 保存--> <!-- 保存-->
<div @click="preservationClick(1)" v-if="roleSwitchingCode == 2" class="operator-text"> <div @click="preservationClick(1)" v-if="roleSwitchingCode == 2 || roleSwitchingCode == 0" class="operator-text">
<a-icon type="check-circle"/> <a-icon type="check-circle"/>
{{ $t('preservation') }} {{ $t('preservation') }}
</div> </div>
@@ -333,7 +333,7 @@
</span> </span>
<span slot="reportNo" slot-scope="text,record"> <span slot="reportNo" slot-scope="text,record">
<a-input class="box-input-index" <a-input class="box-input-index"
v-if="roleSwitchingCode == 2" v-if="roleSwitchingCode == 2 || roleSwitchingCode == 0"
:maxLength="200" :maxLength="200"
onkeyup="this.value=this.value.replace(/(^\s+)|(\s+$)/g, '')" onkeyup="this.value=this.value.replace(/(^\s+)|(\s+$)/g, '')"
v-model.trim="record.reportNumber" v-model.trim="record.reportNumber"
@@ -342,7 +342,7 @@
</span> </span>
<span slot="productModel" slot-scope="text,record"> <span slot="productModel" slot-scope="text,record">
<a-input class="box-input-index" <a-input class="box-input-index"
v-if="roleSwitchingCode == 2" v-if="roleSwitchingCode == 2 || roleSwitchingCode == 0"
:maxLength="200" :maxLength="200"
onkeyup="this.value=this.value.replace(/(^\s+)|(\s+$)/g, '')" onkeyup="this.value=this.value.replace(/(^\s+)|(\s+$)/g, '')"
v-model.trim="record.productModel" v-model.trim="record.productModel"
@@ -351,7 +351,7 @@
</span> </span>
<span slot="nameOfManufacturer" slot-scope="text,record"> <span slot="nameOfManufacturer" slot-scope="text,record">
<a-input class="box-input-index" <a-input class="box-input-index"
v-if="roleSwitchingCode == 2" v-if="roleSwitchingCode == 2 || roleSwitchingCode == 0"
:maxLength="200" :maxLength="200"
onkeyup="this.value=this.value.replace(/(^\s+)|(\s+$)/g, '')" onkeyup="this.value=this.value.replace(/(^\s+)|(\s+$)/g, '')"
v-model.trim="record.productionEnterpriseName" v-model.trim="record.productionEnterpriseName"
@@ -815,7 +815,7 @@
}, },
onChange(page, pageSize) { onChange(page, pageSize) {
this.pageNo = page this.pageNo = page
if (this.roleSwitchingCode == 2) { if (this.roleSwitchingCode == 2 || this.roleSwitchingCode == 0) {
this.preservationClick() this.preservationClick()
} }
this.getList() this.getList()
@@ -823,7 +823,7 @@
SizeChange(page, pageSize) { SizeChange(page, pageSize) {
this.pageNo = 1 this.pageNo = 1
this.pageSize = pageSize this.pageSize = pageSize
if (this.roleSwitchingCode == 2) { if (this.roleSwitchingCode == 2 || this.roleSwitchingCode == 0) {
this.preservationClick() this.preservationClick()
} }
this.getList() this.getList()
@@ -782,11 +782,11 @@
</div> </div>
</a-col> </a-col>
</a-row> </a-row>
<div class="header-text" v-if="rejectCauseList && rejectCauseList.length > 0"> <div class="header-text" v-if="rejectCauseList && rejectCauseList.length > 0 && formInline.roleCodeIndex == 0">
{{$t('listConfirmationRejectionReason')}} {{$t('reasonForReturnOfDesignCompliance')}}
</div> </div>
<div v-if="rejectCauseList && rejectCauseList.length > 0" <div v-if="rejectCauseList && rejectCauseList.length > 0 && formInline.roleCodeIndex == 0"
v-for="(item,index) in rejectCauseList"> v-for="(item,index) in rejectCauseList">
<a-row :gutter="24"> <a-row :gutter="24">
<a-col :span="12"> <a-col :span="12">
@@ -827,11 +827,11 @@
</a-row> </a-row>
</div> </div>
<div class="header-text" v-if="rejectCauseListOne && rejectCauseListOne.length > 0"> <div class="header-text" v-if="rejectCauseListOne && rejectCauseListOne.length > 0 && formInline.roleCodeIndex == 0">
{{$t('taskConfirmationRejectionReason')}} {{$t('verifyComplianceConfirmReturnReason')}}
</div> </div>
<div v-if="rejectCauseListOne && rejectCauseListOne.length > 0" <div v-if="rejectCauseListOne && rejectCauseListOne.length > 0 && formInline.roleCodeIndex == 0"
v-for="(item,index) in rejectCauseListOne"> v-for="(item,index) in rejectCauseListOne">
<a-row :gutter="24"> <a-row :gutter="24">
<a-col :span="12"> <a-col :span="12">
@@ -146,7 +146,7 @@
<!-- 更多--> <!-- 更多-->
<a-popconfirm overlayClassName="popconfirm" placement="bottomRight" v-if="this.roleSwitchingCode == '0'"> <a-popconfirm overlayClassName="popconfirm" placement="bottomRight" v-if="this.roleSwitchingCode == '0'">
<template slot="title" id="popconfirm"> <template slot="title" id="popconfirm">
<div style="height:320px;overflow:scroll;overflow-x: auto;"> <div>
<!-- 添加--> <!-- 添加-->
<div @click="handleAdd" class="operator-text-title"> <div @click="handleAdd" class="operator-text-title">
<a-icon type="plus"/> <a-icon type="plus"/>