Merge remote-tracking branch 'origin/dev_2nd_LCYH' into dev_2nd_LCYH
This commit is contained in:
@@ -434,3 +434,6 @@ ALTER TABLE `project_related_personnel`
|
||||
ALTER TABLE `project_task_planning`
|
||||
ADD COLUMN `certification_submission` datetime(0) NULL COMMENT '认证提交' AFTER `attestation_start_time`;
|
||||
|
||||
-- 项目库-认证清单-认证目录 说明字段长度修改 2023-3-30 未同步生产环境
|
||||
ALTER TABLE `project_certification_directory`
|
||||
MODIFY COLUMN `explain_info` varchar(2000) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '说明' AFTER `detection_report_location`;
|
||||
+57
-14
@@ -2663,6 +2663,8 @@ public class ProjectCertificationInventoryEOServiceImpl extends ServiceImpl<Proj
|
||||
projectCertificationInventoryEOTemp.setId(UUID.randomUUID().toString().replace("-", ""));
|
||||
projectCertificationInventoryEOTemp.setProjectLibraryId(projectLibraryId);
|
||||
projectCertificationInventoryEOTemp.setFlowStatus(CertificationInventoryFlowStatusEnum.LIST_TO_BE_RELEASED.getValue());
|
||||
projectCertificationInventoryEOTemp.setCreateTime(new Date());
|
||||
projectCertificationInventoryEOTemp.setUpdateTime(new Date());
|
||||
projectCertificationInventoryEOList.add(projectCertificationInventoryEOTemp);
|
||||
}else {
|
||||
noSerialNumberList.add(authDummyInventoryInfoEO.getSerialNumber());
|
||||
@@ -2711,13 +2713,13 @@ public class ProjectCertificationInventoryEOServiceImpl extends ServiceImpl<Proj
|
||||
public void importData(MultipartFile file, ProjectCertificationInventoryEO projectCertificationInventoryEO) {
|
||||
String title = "";
|
||||
if(CutEnum.CN.getValue().equals(projectCertificationInventoryEO.getCut())){
|
||||
title = "*类别,*检验项目,*配置项,*WVTA ID," +
|
||||
title = title = "*类别,*检验项目,*配置项,*WVTA ID," +
|
||||
"*标准编号,*责任领域,*工程接口人,*责任人," +
|
||||
"*交付物类型,交付物模板,*截止日期";
|
||||
"*交付物类型,交付物模板,*截止日期,报告编号,产品型号,生产企业名称";
|
||||
}else {
|
||||
title = "*Category,*Inspection Items,*Configuration Item,*WVTA ID," +
|
||||
"*Standard No,*Responsible Field,*Eng. Interface,*Assignee," +
|
||||
"*Deliverable Type,Deliverable Template,*Due Date";
|
||||
"*Deliverable Type,Deliverable Template,*Due Date,Report No,Product Model,Name Of Manufacturer";
|
||||
}
|
||||
|
||||
int pos = file.getOriginalFilename().lastIndexOf(".");
|
||||
@@ -2989,6 +2991,12 @@ public class ProjectCertificationInventoryEOServiceImpl extends ServiceImpl<Proj
|
||||
|
||||
//截止时间
|
||||
String endTime = projectCertificationInventoryEO.getEndTimeStr();
|
||||
//报告编号
|
||||
String reportNumber = projectCertificationInventoryEO.getReportNumber();
|
||||
//产品型号
|
||||
String productModel = projectCertificationInventoryEO.getProductModel();
|
||||
//生产企业名称
|
||||
String productionEnterpriseName = projectCertificationInventoryEO.getProductionEnterpriseName();
|
||||
|
||||
//文件
|
||||
//交付物模板
|
||||
@@ -3000,16 +3008,51 @@ public class ProjectCertificationInventoryEOServiceImpl extends ServiceImpl<Proj
|
||||
//编号必填
|
||||
flag = must(projectCertificationInventoryEO, errorMsg, msgList, serialNumber, "编号", "Standard No");
|
||||
|
||||
|
||||
//报告编号
|
||||
if(StringUtils.isNotBlank(reportNumber)){
|
||||
if(reportNumber.length() > 200){
|
||||
String message = "";
|
||||
if(CutEnum.CN.getValue().equals(projectCertificationInventoryEOTemp.getCut())){
|
||||
message = errorMsg + "报告编号不能超过200个字符, ";
|
||||
}else{
|
||||
message = errorMsg + " The Report No cannot contain more than 200 characters, ";
|
||||
}
|
||||
msgList.add(message);
|
||||
}
|
||||
}
|
||||
//产品型号
|
||||
if(StringUtils.isNotBlank(productModel)){
|
||||
if(productModel.length() > 200){
|
||||
String message = "";
|
||||
if(CutEnum.CN.getValue().equals(projectCertificationInventoryEOTemp.getCut())){
|
||||
message = errorMsg + "产品型号不能超过200个字符, ";
|
||||
}else{
|
||||
message = errorMsg + " The Product Model cannot contain more than 200 characters, ";
|
||||
}
|
||||
msgList.add(message);
|
||||
}
|
||||
}
|
||||
//生产企业名称
|
||||
if(StringUtils.isNotBlank(productionEnterpriseName)){
|
||||
if(productionEnterpriseName.length() > 200){
|
||||
String message = "";
|
||||
if(CutEnum.CN.getValue().equals(projectCertificationInventoryEOTemp.getCut())){
|
||||
message = errorMsg + "生产企业名称不能超过200个字符, ";
|
||||
}else{
|
||||
message = errorMsg + " The Name Of Manufacturer cannot contain more than 200 characters, ";
|
||||
}
|
||||
msgList.add(message);
|
||||
}
|
||||
}
|
||||
//WVTA ID
|
||||
|
||||
if(StringUtils.isNotBlank(wvtaId)){
|
||||
if(wvtaId.length() > 100){
|
||||
if(wvtaId.length() > 300){
|
||||
String message = "";
|
||||
if(CutEnum.CN.getValue().equals(projectCertificationInventoryEOTemp.getCut())){
|
||||
message = errorMsg + "WVTA ID不能超过100个字符, ";
|
||||
message = errorMsg + "WVTA ID不能超过300个字符, ";
|
||||
}else{
|
||||
message = errorMsg + " The WVTA ID cannot contain more than 100 characters, ";
|
||||
message = errorMsg + " The WVTA ID cannot contain more than 300 characters, ";
|
||||
}
|
||||
msgList.add(message);
|
||||
}
|
||||
@@ -3025,12 +3068,12 @@ public class ProjectCertificationInventoryEOServiceImpl extends ServiceImpl<Proj
|
||||
//类别
|
||||
|
||||
if(StringUtils.isNotBlank(category)){
|
||||
if(category.length() > 100){
|
||||
if(category.length() > 300){
|
||||
String message = "";
|
||||
if(CutEnum.CN.getValue().equals(projectCertificationInventoryEOTemp.getCut())){
|
||||
message = errorMsg + "类别不能超过100个字符, ";
|
||||
message = errorMsg + "类别不能超过300个字符, ";
|
||||
}else{
|
||||
message = errorMsg + " The Category cannot contain more than 100 characters, ";
|
||||
message = errorMsg + " The Category cannot contain more than 300 characters, ";
|
||||
}
|
||||
msgList.add(message);
|
||||
}
|
||||
@@ -3049,9 +3092,9 @@ public class ProjectCertificationInventoryEOServiceImpl extends ServiceImpl<Proj
|
||||
if(inspectionItem.length() > 100){
|
||||
String message = "";
|
||||
if(CutEnum.CN.getValue().equals(projectCertificationInventoryEOTemp.getCut())){
|
||||
message = errorMsg + "检验项目不能超过100个字符, ";
|
||||
message = errorMsg + "检验项目不能超过300个字符, ";
|
||||
}else{
|
||||
message = errorMsg + " The InspectionItem cannot contain more than 100 characters, ";
|
||||
message = errorMsg + " The InspectionItem cannot contain more than 300 characters, ";
|
||||
}
|
||||
msgList.add(message);
|
||||
}
|
||||
@@ -3067,12 +3110,12 @@ public class ProjectCertificationInventoryEOServiceImpl extends ServiceImpl<Proj
|
||||
//配置项
|
||||
|
||||
if(StringUtils.isNotBlank(configItem)){
|
||||
if(configItem.length() > 100){
|
||||
if(configItem.length() > 300){
|
||||
String message = "";
|
||||
if(CutEnum.CN.getValue().equals(projectCertificationInventoryEOTemp.getCut())){
|
||||
message = errorMsg + "配置项不能超过100个字符, ";
|
||||
}else{
|
||||
message = errorMsg + " The ConfigItem cannot contain more than 100 characters, ";
|
||||
message = errorMsg + " The ConfigItem cannot contain more than 300 characters, ";
|
||||
}
|
||||
msgList.add(message);
|
||||
}
|
||||
|
||||
+2
-2
@@ -9741,7 +9741,7 @@ public class ProjectLawsInventoryEOServiceImpl extends ServiceImpl<ProjectLawsIn
|
||||
params.put("Initiator",projectLibraryBase.getStudioEngineerName());
|
||||
|
||||
|
||||
this.sendMessageByTemplateId(TemplateInfoEnum2.REGULATION_LIST_RELEASE2.getValue(),params);
|
||||
this.sendMessageByTemplateId(TemplateInfoEnum2.REGULATION_TASK_CONFIRMATION1.getValue(),params);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -9844,7 +9844,7 @@ public class ProjectLawsInventoryEOServiceImpl extends ServiceImpl<ProjectLawsIn
|
||||
params.put("hrefFeishu_EN",(String)hrefFeishuMap.get("hrefFeishu_EN"));
|
||||
params.put("Initiator",projectLibraryBase.getStudioEngineerName());
|
||||
|
||||
this.sendMessageByTemplateId(TemplateInfoEnum2.REGULATION_LIST_RELEASE2.getValue(),params);
|
||||
this.sendMessageByTemplateId(TemplateInfoEnum2.REGULATION_TASK_CONFIRMATION1.getValue(),params);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -1739,5 +1739,7 @@ module.exports = {
|
||||
verifyConformanceConfirmation:'Verify conformance confirmation',
|
||||
designConformanceVerification:'Design conformance verification',
|
||||
nomorethan:'No more than 10',
|
||||
uploadedfilelarger:'The uploaded file is larger than 50 MB',
|
||||
marketCertificationList:'Market Certification List',
|
||||
uploadedfilelarger:'The uploaded file is larger than',
|
||||
}
|
||||
@@ -604,7 +604,7 @@ module.exports = {
|
||||
StandardBreakdown: '标准分解单',
|
||||
searchInResults: '结果中检索',
|
||||
searchContent: '搜索内容',
|
||||
viewFile: '查看文件',
|
||||
viewFile: '查看已上传文件',
|
||||
fileFormatIncorrect: '文件格式不正确',
|
||||
pleaseUploadFile: '请上传文件',
|
||||
documentSplitList: '文档拆分列表展示',
|
||||
@@ -1842,4 +1842,6 @@ module.exports = {
|
||||
designConformanceVerification:'设计符合性确认',
|
||||
nomorethan:'不能超过10个',
|
||||
uploadedfilelarger:'文件大于',
|
||||
uploadedfilelarger:'文件大于50M',
|
||||
marketCertificationList:'市场认证清单',
|
||||
}
|
||||
+7
@@ -170,6 +170,7 @@
|
||||
import { getAction, postAction, deleteAction,downloadFile } from '@/api/manage'
|
||||
import ImportFile from '@/components/ImportFileData/index'
|
||||
import uploadFile from '@/components/uploadFile/file'
|
||||
import { result } from 'lodash'
|
||||
|
||||
export default {
|
||||
name: 'beupgradedonline',
|
||||
@@ -375,6 +376,9 @@ this.$forceUpdate()
|
||||
}
|
||||
getAction('/ota/otaBaSjSjyxpg/queryByOtaId',{otaIdT:otaIdT,otaId:otaId}).then(res=>{
|
||||
if(res.code==200){
|
||||
if(res.result.zxsj==0){
|
||||
res.result.zxsj=null
|
||||
}
|
||||
this.form=res.result==null ? {
|
||||
sjmd:'',
|
||||
// fhgd:1,
|
||||
@@ -395,6 +399,9 @@ this.$forceUpdate()
|
||||
otaId=''
|
||||
}
|
||||
this.form.otaId=otaId
|
||||
if(this.form.zxsj==undefined){
|
||||
this.form.zxsj=0
|
||||
}
|
||||
postAction('/ota/otaBaSjSjyxpg/add',this.form).then(res=>{
|
||||
if(res.code==200){
|
||||
this.$message.success(this.$t('SavedSuccessfully'))
|
||||
|
||||
+2
-2
@@ -316,8 +316,8 @@ import ImportFile from '@/components/ImportFileData/index'
|
||||
this.form.cpmc = item.cpmc
|
||||
this.form.cpxh = item.cpxh
|
||||
getAction('/ota/otaBaCxJbxx/queryByOtaId',{otaIdT:'',otaId:item.id}).then(res=>{
|
||||
this.form.dllx1=res.result.dllx1
|
||||
this.form.dllx2=res.result.dllx2
|
||||
this.form.dllx1=res.result.dllx1 == null?undefined:res.result.dllx1
|
||||
this.form.dllx2=res.result.dllx2== null?undefined:res.result.dllx2
|
||||
this.$forceUpdate()
|
||||
})
|
||||
}
|
||||
|
||||
+28
-2
@@ -156,7 +156,7 @@
|
||||
<span class="title-text-text plus3" :title="$t('Vehicledynamictype')">{{$t('Vehicledynamictype')}}</span>
|
||||
</div>
|
||||
<a-form-model-item class="itemModel" style="width: 38%">
|
||||
<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" allowClear :disabled="disabled" :placeholder="$t('PleaseSelect')" @change="changeSelect($event,target)">
|
||||
<a-select-option v-for="(item, key) in projectNameList1"
|
||||
:key="key"
|
||||
:value="item">
|
||||
@@ -165,7 +165,7 @@
|
||||
</a-select>
|
||||
</a-form-model-item>
|
||||
<a-form-model-item class="itemModel" style="width: 40%;margin-left:20px">
|
||||
<a-select v-model="form.dllx2" class="box-input" :disabled="disabled" :placeholder="$t('PleaseSelect')" @change="update">
|
||||
<a-select v-model="form.dllx2" class="box-input" allowClear :disabled="disabled" :placeholder="$t('PleaseSelect')" @change="update">
|
||||
<a-select-option v-for="(item, key) in projectNameList2"
|
||||
:key="key"
|
||||
:value="item">
|
||||
@@ -326,6 +326,7 @@ import { message } from 'ant-design-vue'
|
||||
this.form.cpxh=res.result.cpxh
|
||||
this.form.txzd=res.result.txzd
|
||||
this.form.txzd=res.result.txzd
|
||||
this.form.cdotasj=res.result.cdotasj
|
||||
this.form.id=res.result.id
|
||||
if(this.$route.query.type == 1 && res.result.cxmb == null){
|
||||
this.form.cxmb = this.form.ggpc+'-'+ this.form.cpmc+'-'+this.form.cpxh
|
||||
@@ -338,8 +339,14 @@ import { message } from 'ant-design-vue'
|
||||
if(res.result.dllx2 == null){
|
||||
res.result.dllx2 = undefined
|
||||
}
|
||||
|
||||
if(res.result.cplb == null){
|
||||
res.result.cplb = undefined
|
||||
}
|
||||
this.form.dllx1=res.result.dllx1
|
||||
this.form.dllx2=res.result.dllx2
|
||||
this.form.cplb=res.result.cplb
|
||||
this.getDllx2()
|
||||
// this.changeSelect()
|
||||
this.$forceUpdate()
|
||||
}
|
||||
@@ -366,6 +373,7 @@ import { message } from 'ant-design-vue'
|
||||
if(otaId==null || otaId == undefined){
|
||||
otaId=''
|
||||
}
|
||||
|
||||
postAction('/ota/otaBaCxJbxx/add',{ otaId:otaId,...this.form}).then( res => {
|
||||
if(res.code == 200){
|
||||
localStorage.setItem('otaId', res.result.otaId)
|
||||
@@ -387,6 +395,24 @@ import { message } from 'ant-design-vue'
|
||||
}else{
|
||||
this. projectNameList2=['其他']
|
||||
}
|
||||
},
|
||||
getDllx2(){
|
||||
if(this.form.dllx1==undefined){
|
||||
this.projectNameList=[]
|
||||
}
|
||||
if(this.form.dllx1=='传统动力汽车'){
|
||||
this. projectNameList2=['汽油','柴油']
|
||||
}
|
||||
if(this.form.dllx1=='节能汽车'){
|
||||
this. projectNameList2=['混合动力','天然气','甲醇','其他']
|
||||
}
|
||||
if(this.form.dllx1=='新能源汽车'){
|
||||
this. projectNameList2=['纯电动','插电式混合动力','燃料电池']
|
||||
}
|
||||
if(this.form.dllx1=='其他'){
|
||||
this. projectNameList2=['其他']
|
||||
}
|
||||
|
||||
|
||||
},
|
||||
update(){
|
||||
|
||||
+2
-2
@@ -253,7 +253,7 @@ import ImportFile from '@/components/ImportFileData/index'
|
||||
this.$message.success(this.$t('SavedSuccessfully'))
|
||||
this.getData()
|
||||
}
|
||||
|
||||
|
||||
})
|
||||
},
|
||||
last(){
|
||||
@@ -284,7 +284,7 @@ import ImportFile from '@/components/ImportFileData/index'
|
||||
}
|
||||
|
||||
button{
|
||||
width: 89px;
|
||||
//width: 89px;
|
||||
border-radius: 4px;
|
||||
cursor: pointer;
|
||||
background: #00B3BE;
|
||||
|
||||
+2
-2
@@ -299,7 +299,7 @@ export default {
|
||||
this.$message.success(this.$t('SavedSuccessfully'))
|
||||
this.getData()
|
||||
}
|
||||
|
||||
|
||||
})
|
||||
},
|
||||
last() {
|
||||
@@ -323,7 +323,7 @@ export default {
|
||||
}
|
||||
|
||||
button {
|
||||
width: 89px;
|
||||
/*width: 89px;*/
|
||||
border-radius: 4px;
|
||||
cursor: pointer;
|
||||
background: #00B3BE;
|
||||
|
||||
@@ -168,7 +168,7 @@ export default {
|
||||
ids:this.ids
|
||||
}
|
||||
this.confirmLoading = true
|
||||
postAction('ota/otaBaSjList/batchRecord', query).then((res) => {
|
||||
postAction('ota/otaBaCxList/batchRecord', query).then((res) => {
|
||||
if (res.success) {
|
||||
this.$message.success(this.$t('OperationSuccessful'))
|
||||
this.visible = false
|
||||
|
||||
+4
-4
@@ -15,10 +15,10 @@
|
||||
<a-row :gutter="24">
|
||||
<a-col :md="12" :sm="8">
|
||||
<div class="box-title-text">
|
||||
<div class="title-text" :title="$t('CertificationListName')">
|
||||
<span>{{$t('CertificationListName')}}</span>
|
||||
<div class="title-text" :title="$t('marketCertificationList')">
|
||||
<span>{{$t('marketCertificationList')}}</span>
|
||||
</div>
|
||||
<j-input class="box-input" :placeholder="$t('PleaseEnter')+$t('CertificationListName')"
|
||||
<j-input class="box-input" :placeholder="$t('PleaseEnter')+$t('marketCertificationList')"
|
||||
v-model="queryParam.name"></j-input>
|
||||
</div>
|
||||
</a-col>
|
||||
@@ -87,7 +87,7 @@
|
||||
selectedRowKeys: [],
|
||||
columns: [
|
||||
{
|
||||
title: this.$t('CertificationListName'),
|
||||
title: this.$t('marketCertificationList'),
|
||||
dataIndex: 'name',
|
||||
align: 'left',
|
||||
ellipsis: true,
|
||||
|
||||
@@ -162,7 +162,7 @@
|
||||
<div @click="processResetClick"
|
||||
v-if="roleSwitchingCode == 0 || roleSwitchingCode == 2"
|
||||
class="operator-text-title">
|
||||
<a-icon type="stop"/>
|
||||
<a-icon type="file-search"/>
|
||||
{{ $t('processReset') }}
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@@ -242,7 +242,22 @@ export default {
|
||||
}).then((res) => {
|
||||
if (res.success) {
|
||||
this.confirmLoading = false
|
||||
this.$message.success(this.$t('OperationSuccessful'))
|
||||
if (res.result && res.result.length > 0) {
|
||||
let detailedWarningList = []
|
||||
res.result.forEach(val => {
|
||||
detailedWarningList.push(
|
||||
< div > { val } < /div>)
|
||||
})
|
||||
this.$warning({
|
||||
content: (
|
||||
< div >
|
||||
{ detailedWarningList }
|
||||
< /div>
|
||||
)
|
||||
})
|
||||
} else {
|
||||
this.$message.success(this.$t('OperationSuccessful'))
|
||||
}
|
||||
this.visible = false
|
||||
this.selectedRowKeys = []
|
||||
this.$emit('transferListFormHomo')
|
||||
|
||||
Reference in New Issue
Block a user