合并分支 'fix_bug_first_stage' 到 'master'

Fix bug first stage

查看合并请求 laws-nio/laws-weilai!53
This commit is contained in:
肖文钰
2022-07-07 15:52:02 +08:00
10 changed files with 168 additions and 77 deletions
@@ -1298,10 +1298,10 @@ public class DummyInventoryInfoEOServiceImpl extends ServiceImpl<DummyInventoryI
dummyInventoryInfoEO.setAttestationType(value); dummyInventoryInfoEO.setAttestationType(value);
} }
//认证级别(单选必填) //认证级别(多选必填)
flag = must(dummyInventoryInfoEO, errorMsg, msgList, attestationRank,"认证级别","Certification Level"); flag = must(dummyInventoryInfoEO, errorMsg, msgList, attestationRank,"认证级别","Certification Level");
if(flag){ if(flag){
value = pullSingle(dictItemList, dummyInventoryInfoEO, errorMsg, attestationRank,msgList,"认证级别","Certification Level","attestation_rank"); value = pullMore(dictItemList, dummyInventoryInfoEO, errorMsg, attestationRank,msgList,"认证级别","Certification Level","attestation_rank");
if(StringUtils.isNotBlank(value)){ if(StringUtils.isNotBlank(value)){
dummyInventoryInfoEO.setAttestationRank(value); dummyInventoryInfoEO.setAttestationRank(value);
} }
@@ -2082,7 +2082,7 @@ public class ProjectLawsInventoryEOServiceImpl extends ServiceImpl<ProjectLawsIn
msgContentEN = sysUser.getUsername() + " has assigned the regulation task confirmation of " + serialNumber + " in "+ projectNameInfoEO.getProjectName() msgContentEN = sysUser.getUsername() + " has assigned the regulation task confirmation of " + serialNumber + " in "+ projectNameInfoEO.getProjectName()
+ ".to you. the due date is " +taskAffirmDueDate+ " Please check and handle it in time."; + ".to you. the due date is " +taskAffirmDueDate+ " Please check and handle it in time.";
feishuMsgVo.setContent("Hello! " + sysUser.getUsername() + " has rejected the task. Please check and and handle it in time."); feishuMsgVo.setContent("Hello! " + sysUser.getUsername() + " has assigned the task. Please check and and handle it in time.");
} else if (StringUtils.equals(msgType, MsgTypeEnum.TASK_AFFIRM_DRE_REJECTED.getValue())) { } else if (StringUtils.equals(msgType, MsgTypeEnum.TASK_AFFIRM_DRE_REJECTED.getValue())) {
userIdList.add(engineeringInterfacePerson); userIdList.add(engineeringInterfacePerson);
@@ -4039,10 +4039,10 @@ public class ProjectLawsInventoryEOServiceImpl extends ServiceImpl<ProjectLawsIn
projectLawsInventoryEO.setAttestationType(value); projectLawsInventoryEO.setAttestationType(value);
} }
//认证级别(单选必填) //认证级别(多选必填)
flag = must(projectLawsInventoryEO, errorMsg, msgList, attestationRank,"认证级别","Certification Level"); flag = must(projectLawsInventoryEO, errorMsg, msgList, attestationRank,"认证级别","Certification Level");
if(flag){ if(flag){
value = pullSingle(dictItemList, projectLawsInventoryEO, errorMsg, attestationRank,msgList,"认证级别","Certification Level","attestation_rank"); value = pullMore(dictItemList, projectLawsInventoryEO, errorMsg, attestationRank,msgList,"认证级别","Certification Level","attestation_rank");
if(StringUtils.isNotBlank(value)){ if(StringUtils.isNotBlank(value)){
projectLawsInventoryEO.setAttestationRank(value); projectLawsInventoryEO.setAttestationRank(value);
} }
@@ -764,8 +764,10 @@ public class ProjectTaskInventoryEOServiceImpl extends ServiceImpl<ProjectTaskIn
feishuMsgVo.setContent("Hello! The compliance information you submitted has been rejected after review. Please check and address it in a timely manner."); feishuMsgVo.setContent("Hello! The compliance information you submitted has been rejected after review. Please check and address it in a timely manner.");
feishuMsgVo.setTaskType("Validation Compliance Confirmation"); feishuMsgVo.setTaskType("Validation Compliance Confirmation");
} }
/*55360问题。
feishuMsgVo.setDueDate(dutDateStr); feishuMsgVo.setDueDate(dutDateStr);
feishuMsgVo.setInitiator(sysUser.getUsername()); feishuMsgVo.setInitiator(sysUser.getUsername());
*/
feishuMsgVo.setRegulationNo(serialNumber); feishuMsgVo.setRegulationNo(serialNumber);
feishuMsgVo.setProject(projectNameInfoEO.getProjectName() + "-" + projectYearNameInfoEO.getYearName() + " " + projectLibraryBase.getTargetMarket()); feishuMsgVo.setProject(projectNameInfoEO.getProjectName() + "-" + projectYearNameInfoEO.getYearName() + " " + projectLibraryBase.getTargetMarket());
+3
View File
@@ -142,4 +142,7 @@
.itemModel-multi .ant-form-explain, .ant-form-extra { .itemModel-multi .ant-form-explain, .ant-form-extra {
margin-top: -10px; margin-top: -10px;
} }
.anticon-exclamation-circle{
display: none!important;
}
</style> </style>
+2
View File
@@ -1090,4 +1090,6 @@ module.exports = {
newRequestCommentListTemplate:'New request for comment list template', newRequestCommentListTemplate:'New request for comment list template',
NewReleasedStandardTemplate:'New released standard template', NewReleasedStandardTemplate:'New released standard template',
pleaseSelectStandard:'Please select a standard', pleaseSelectStandard:'Please select a standard',
theResponsiblePersonEmpty:'The responsible person of cannot be empty',
theDeadlineEmpty:'The deadline of cannot be empty',
} }
+2
View File
@@ -1094,4 +1094,6 @@ module.exports = {
newRequestCommentListTemplate:'新征求意见清单模板', newRequestCommentListTemplate:'新征求意见清单模板',
NewReleasedStandardTemplate:'新发布标准模板', NewReleasedStandardTemplate:'新发布标准模板',
pleaseSelectStandard:'请选择标准', pleaseSelectStandard:'请选择标准',
theResponsiblePersonEmpty:'的责任人不能为空',
theDeadlineEmpty:'的截止时间不能为空',
} }
@@ -413,6 +413,7 @@
} }
} }
console.debug('---高级查询参数--->', { params, matchType }) console.debug('---高级查询参数--->', { params, matchType })
this.visible = false
this.$emit(this.callback, params, matchType) this.$emit(this.callback, params, matchType)
}, },
handleCancel() { handleCancel() {
@@ -95,13 +95,13 @@
<span class="title-text-text" <span class="title-text-text"
:title="$t('engineer')">{{$t('engineer')}}</span> :title="$t('engineer')">{{$t('engineer')}}</span>
</div> </div>
<a-form-model-item class="itemModel" prop="userName"> <a-form-model-item class="itemModel" prop="userIdName">
<PersonnelSelection <PersonnelSelection
:query="{db_field_name:'userId',db_field_txt:$t('engineer')}" :query="{db_field_name:'userId',db_field_txt:$t('engineer')}"
:personneQuery="formInline" :personneQuery="formInline"
:distributionEngineerList="distributionEngineerList" :distributionEngineerList="distributionEngineerList"
@change="PersonnelSelectionChange" @change="PersonnelSelectionChange"
v-model="formInline.userName"/> v-model="formInline.userIdName"/>
</a-form-model-item> </a-form-model-item>
</div> </div>
</a-col> </a-col>
@@ -385,7 +385,7 @@
trigger: 'change' trigger: 'change'
} }
], ],
userName: [ userIdName: [
{ {
required: true, required: true,
message: this.$t('engineer') + this.$t('cannotEmpty'), message: this.$t('engineer') + this.$t('cannotEmpty'),
@@ -623,8 +623,9 @@
}) })
} }
this.formInline.userId = userId.join(',') this.formInline.userId = userId.join(',')
this.formInline.userName = userName.join(',') this.formInline.userIdName = userName.join(',')
this.formInline = { ...this.formInline } this.formInline = { ...this.formInline }
console.log(this.formInline)
} }
this.loadingTable = false this.loadingTable = false
} else { } else {
@@ -682,7 +683,7 @@
this.formInline[value] = id this.formInline[value] = id
this.distributionEngineerList = [] this.distributionEngineerList = []
if (id) { if (id) {
this.formInline.userName.split(',').forEach((res, index) => { this.formInline.userIdName.split(',').forEach((res, index) => {
this.distributionEngineerList.push({ this.distributionEngineerList.push({
deliveryInstructions: '', deliveryInstructions: '',
name: res, name: res,
@@ -713,9 +714,9 @@
}) })
_this.distributionEngineerList.splice(num, 1) _this.distributionEngineerList.splice(num, 1)
_this.distributionEngineerList = [..._this.distributionEngineerList] _this.distributionEngineerList = [..._this.distributionEngineerList]
_this.formInline.userName = _this.formInline.userName.split(',') _this.formInline.userIdName = _this.formInline.userIdName.split(',')
_this.formInline.userName.splice(num, 1) _this.formInline.userIdName.splice(num, 1)
_this.formInline.userName = _this.formInline.userName.join(',') _this.formInline.userIdName = _this.formInline.userIdName.join(',')
_this.formInline.userId = _this.formInline.userId.split(',') _this.formInline.userId = _this.formInline.userId.split(',')
_this.formInline.userId.splice(num, 1) _this.formInline.userId.splice(num, 1)
_this.formInline.userId = _this.formInline.userId.join(',') _this.formInline.userId = _this.formInline.userId.join(',')
@@ -53,10 +53,11 @@
:data-source="dataSource" :data-source="dataSource"
:columns="columns" :columns="columns"
> >
<!-- @click="standardClick(result)"-->
<div slot="standardInformation" slot-scope="text,result" class="box-left"> <div slot="standardInformation" slot-scope="text,result" class="box-left">
<div class="content"> <div class="content">
<a class="box-content-a" :title="result.serialNumber">{{result.serialNumber}}dsf jdslfkj dsflkdsjfdslkfjds fldskfjdsklfds</a> <a class="box-content-a" :title="result.serialNumber">{{result.serialNumber}}</a>
<a class="box-content-buttom" :title="result.title">{{result.title}}sdfdsfdsfdsfjds lfdjsfdslfjsflkdsfjdsklfdjsfklsd</a> <a class="box-content-buttom" :title="result.title">{{result.title}}</a>
</div> </div>
</div> </div>
<div slot="areaOfResponsibility" slot-scope="text,result" class="box-left"> <div slot="areaOfResponsibility" slot-scope="text,result" class="box-left">
@@ -414,7 +415,16 @@
}, },
TaskListModelList() { TaskListModelList() {
this.getList() this.getList()
} },
standardClick(row){
let newUrl = this.$router.resolve({
path: '/docManage/library/detail',
query: {
id:row.id
}
})
window.open(newUrl.href, '_blank')
},
} }
} }
</script> </script>
@@ -26,11 +26,53 @@
</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" style="width: 44px" :title="$t('subtitle')"> <div class="title-text" :title="$t('areaOfResponsibility')">
<span>{{ $t('subtitle') }}</span> <span>{{ $t('areaOfResponsibility') }}</span>
</div> </div>
<j-input class="box-input" :placeholder="$t('PleaseEnter')+$t('subtitle')" <j-dict-select-tag class="box-input" v-model="queryParam.dutyTerritory"
v-model="queryParam.subtitle"></j-input> :placeholder="$t('PleaseSelect')+$t('areaOfResponsibility')"
:type="'select'"
:triggerChange="false" :dictCode="'duty_territory'"/>
</div>
</a-col>
<a-col :md="6" :sm="8">
<div class="box-title-text">
<div class="title-text" :title="$t('listConfirmationStatus')">
<span>{{ $t('listConfirmationStatus') }}</span>
</div>
<a-select :placeholder="$t('PleaseSelect')+$t('listConfirmationStatus')"
class="box-input"
allowClear
:getPopupContainer="triggerNode=> triggerNode.parentNode"
v-model="queryParam.inventoryAffirmStatus">
<a-select-option v-for="(item, key) in listOptions"
:key="item.key"
:value="item.value">
<span style="display: inline-block;width: 100%" :title=" item.label ">
{{ item.label}}
</span>
</a-select-option>
</a-select>
</div>
</a-col>
<a-col :md="6" :sm="8">
<div class="box-title-text">
<div class="title-text" :title="$t('taskAffirmStatus')">
<span>{{ $t('taskAffirmStatus') }}</span>
</div>
<a-select :placeholder="$t('PleaseSelect')+$t('taskAffirmStatus')"
class="box-input"
allowClear
:getPopupContainer="triggerNode=> triggerNode.parentNode"
v-model="queryParam.taskAffirmStatus">
<a-select-option v-for="(item, key) in taskOptions"
:key="item.key"
:value="item.value">
<span style="display: inline-block;width: 100%" :title=" item.label ">
{{ item.label}}
</span>
</a-select-option>
</a-select>
</div> </div>
</a-col> </a-col>
<span style="float: right;overflow: hidden;margin-right: 11px" class="table-page-search-submitButtons"> <span style="float: right;overflow: hidden;margin-right: 11px" class="table-page-search-submitButtons">
@@ -184,6 +226,12 @@
{{text}} {{text}}
</span> </span>
</span> </span>
<!-- @click="standardClick(record)"-->
<span slot="standard" slot-scope="text,record" :title="text">
<a class="textName">
{{text}}
</a>
</span>
<span slot="designDeliverableTemplateName" slot-scope="text,record"> <span slot="designDeliverableTemplateName" slot-scope="text,record">
<span>{{ record.designDeliverableTypeName }}</span><br v-if="record.designDeliverableTypeName"> <span>{{ record.designDeliverableTypeName }}</span><br v-if="record.designDeliverableTypeName">
<a v-if="record.designDeliverableTemplate && record.designDeliverableTemplate.split(',').length == 1" <a v-if="record.designDeliverableTemplate && record.designDeliverableTemplate.split(',').length == 1"
@@ -409,7 +457,7 @@
dataIndex: 'serialNumber', dataIndex: 'serialNumber',
width: 180, width: 180,
fixed: 'left', fixed: 'left',
scopedSlots: { customRender: 'titleName' } scopedSlots: { customRender: 'standard' }
}, },
{ {
title: this.$t('title'), title: this.$t('title'),
@@ -769,6 +817,11 @@
value: 'correspondingStandard', value: 'correspondingStandard',
text: this.$t('correspondingStandard') text: this.$t('correspondingStandard')
}, },
{
type: 'string',
value: 'subtitle',
text: this.$t('subtitle')
},
{ {
type: '', type: '',
value: 'implementType', value: 'implementType',
@@ -832,59 +885,49 @@
valueName: 'engineeringInterfacePersonName', valueName: 'engineeringInterfacePersonName',
text: this.$t('engineeringInterfacePerson') text: this.$t('engineeringInterfacePerson')
}, },
],
listOptions:[
{ {
type: '', value:'Not started',
value: 'inventoryAffirmStatus', key:'Not started',
text: this.$t('listConfirmationStatus'), label:this.$t('notLaunch'),
options:[
{
value:'Not started',
key:'Not started',
label:this.$t('notLaunch'),
},
{
value:'List to confirm',
key:'List to confirm',
label:this.$t('toBeConfirmed'),
},
{
value:'Accepted',
key:'Accepted',
label:this.$t('accept'),
},
{
value:'Rejected',
key:'Rejected',
label:this.$t('refuse'),
},
],
}, },
{ {
type: '', value:'List to confirm',
value: 'taskAffirmStatus', key:'List to confirm',
text: this.$t('taskAffirmStatus'), label:this.$t('toBeConfirmed'),
options:[ },
{ {
value:'Not started', value:'Accepted',
key:'Not started', key:'Accepted',
label:this.$t('notLaunch'), label:this.$t('accept'),
}, },
{ {
value:'List to confirm', value:'Rejected',
key:'List to confirm', key:'Rejected',
label:this.$t('toBeConfirmed'), label:this.$t('refuse'),
}, },
{ ],
value:'Accepted', taskOptions:[
key:'Accepted', {
label:this.$t('accept'), value:'Not started',
}, key:'Not started',
{ label:this.$t('notLaunch'),
value:'Rejected', },
key:'Rejected', {
label:this.$t('refuse'), value:'List to confirm',
}, key:'List to confirm',
], label:this.$t('toBeConfirmed'),
},
{
value:'Accepted',
key:'Accepted',
label:this.$t('accept'),
},
{
value:'Rejected',
key:'Rejected',
label:this.$t('refuse'),
}, },
], ],
visibleRoleSwitching: false, visibleRoleSwitching: false,
@@ -1656,27 +1699,45 @@
&& dataSource[i].designInitiatorId == this.userInfo().id) || && dataSource[i].designInitiatorId == this.userInfo().id) ||
(dataSource[i].designInitiatorId == dataSource[i].homologationEngineerId (dataSource[i].designInitiatorId == dataSource[i].homologationEngineerId
&& dataSource[i].designInitiatorId == this.userInfo().id)){ && dataSource[i].designInitiatorId == this.userInfo().id)){
if(!dataSource[i].designDutyId || !dataSource[i].designDueDate){ if(!dataSource[i].designDutyId && !dataSource[i].designDueDate){
this.rowKeysWarningList.push( < div > { dataSource[i].serialNumber+this.$t('confirmationOfDesignConformity') + this.$t('theResponsiblePersonAndDeadlineClank') } < /div>) this.rowKeysWarningList.push( < div > { dataSource[i].serialNumber+this.$t('confirmationOfDesignConformity') + this.$t('theResponsiblePersonAndDeadlineClank') } < /div>)
continue continue
}else if(!dataSource[i].designDutyId){
this.rowKeysWarningList.push( < div > { dataSource[i].serialNumber+this.$t('confirmationOfDesignConformity') + this.$t('theResponsiblePersonEmpty') } < /div>)
continue
}else if(!dataSource[i].designDueDate){
this.rowKeysWarningList.push( < div > { dataSource[i].serialNumber+this.$t('confirmationOfDesignConformity') + this.$t('theDeadlineEmpty') } < /div>)
continue
} }
} }
if((dataSource[i].prehomoInitiatorId == dataSource[i].regulationOwnerId if((dataSource[i].prehomoInitiatorId == dataSource[i].regulationOwnerId
&& dataSource[i].prehomoInitiatorId == this.userInfo().id) || && dataSource[i].prehomoInitiatorId == this.userInfo().id) ||
(dataSource[i].prehomoInitiatorId == dataSource[i].homologationEngineerId (dataSource[i].prehomoInitiatorId == dataSource[i].homologationEngineerId
&& dataSource[i].prehomoInitiatorId == this.userInfo().id)){ && dataSource[i].prehomoInitiatorId == this.userInfo().id)){
if(!dataSource[i].prehomoDutyId || !dataSource[i].prehomoDueDate){ if(!dataSource[i].prehomoDutyId && !dataSource[i].prehomoDueDate){
this.rowKeysWarningList.push( < div > { dataSource[i].serialNumber+this.$t('PrehomoConfirmation') + this.$t('theResponsiblePersonAndDeadlineClank') } < /div>) this.rowKeysWarningList.push( < div > { dataSource[i].serialNumber+this.$t('PrehomoConfirmation') + this.$t('theResponsiblePersonAndDeadlineClank') } < /div>)
continue continue
}else if(!dataSource[i].prehomoDutyId){
this.rowKeysWarningList.push( < div > { dataSource[i].serialNumber+this.$t('PrehomoConfirmation') + this.$t('theResponsiblePersonEmpty') } < /div>)
continue
}else if(!dataSource[i].prehomoDueDate){
this.rowKeysWarningList.push( < div > { dataSource[i].serialNumber+this.$t('PrehomoConfirmation') + this.$t('theDeadlineEmpty') } < /div>)
continue
} }
} }
if((dataSource[i].verifyInitiatorId == dataSource[i].regulationOwnerId if((dataSource[i].verifyInitiatorId == dataSource[i].regulationOwnerId
&& dataSource[i].verifyInitiatorId == this.userInfo().id) || && dataSource[i].verifyInitiatorId == this.userInfo().id) ||
(dataSource[i].verifyInitiatorId == dataSource[i].homologationEngineerId (dataSource[i].verifyInitiatorId == dataSource[i].homologationEngineerId
&& dataSource[i].verifyInitiatorId == this.userInfo().id)){ && dataSource[i].verifyInitiatorId == this.userInfo().id)){
if(!dataSource[i].verifyDutyId || !dataSource[i].verifyDueDate){ if(!dataSource[i].verifyDutyId && !dataSource[i].verifyDueDate){
this.rowKeysWarningList.push( < div > { dataSource[i].serialNumber+this.$t('verificationAndConformityconfirmation') + this.$t('theResponsiblePersonAndDeadlineClank') } < /div>) this.rowKeysWarningList.push( < div > { dataSource[i].serialNumber+this.$t('verificationAndConformityconfirmation') + this.$t('theResponsiblePersonAndDeadlineClank') } < /div>)
continue continue
}else if(!dataSource[i].verifyDutyId){
this.rowKeysWarningList.push( < div > { dataSource[i].serialNumber+this.$t('verificationAndConformityconfirmation') + this.$t('theResponsiblePersonEmpty') } < /div>)
continue
}else if(!dataSource[i].verifyDueDate){
this.rowKeysWarningList.push( < div > { dataSource[i].serialNumber+this.$t('verificationAndConformityconfirmation') + this.$t('theDeadlineEmpty') } < /div>)
continue
} }
} }
} }
@@ -1905,7 +1966,16 @@
this.$message.warning(this.$t('reportNotUploaded')) this.$message.warning(this.$t('reportNotUploaded'))
} }
} }
} },
standardClick(row){
let newUrl = this.$router.resolve({
path: '/docManage/library/detail',
query: {
id:row.id
}
})
window.open(newUrl.href, '_blank')
},
} }
} }
</script> </script>
@@ -1986,14 +2056,14 @@
} }
.title-text { .title-text {
width: 32px; width: 92px;
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: left; text-align: right;
white-space: nowrap; white-space: nowrap;
overflow: hidden; overflow: hidden;
text-overflow: ellipsis; text-overflow: ellipsis;