合并分支 '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);
}
//认证级别(选必填)
//认证级别(选必填)
flag = must(dummyInventoryInfoEO, errorMsg, msgList, attestationRank,"认证级别","Certification Level");
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)){
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()
+ ".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())) {
userIdList.add(engineeringInterfacePerson);
@@ -4039,10 +4039,10 @@ public class ProjectLawsInventoryEOServiceImpl extends ServiceImpl<ProjectLawsIn
projectLawsInventoryEO.setAttestationType(value);
}
//认证级别(选必填)
//认证级别(选必填)
flag = must(projectLawsInventoryEO, errorMsg, msgList, attestationRank,"认证级别","Certification Level");
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)){
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.setTaskType("Validation Compliance Confirmation");
}
/*55360问题。
feishuMsgVo.setDueDate(dutDateStr);
feishuMsgVo.setInitiator(sysUser.getUsername());
*/
feishuMsgVo.setRegulationNo(serialNumber);
feishuMsgVo.setProject(projectNameInfoEO.getProjectName() + "-" + projectYearNameInfoEO.getYearName() + " " + projectLibraryBase.getTargetMarket());
+3
View File
@@ -142,4 +142,7 @@
.itemModel-multi .ant-form-explain, .ant-form-extra {
margin-top: -10px;
}
.anticon-exclamation-circle{
display: none!important;
}
</style>
+2
View File
@@ -1090,4 +1090,6 @@ module.exports = {
newRequestCommentListTemplate:'New request for comment list template',
NewReleasedStandardTemplate:'New released standard template',
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:'新征求意见清单模板',
NewReleasedStandardTemplate:'新发布标准模板',
pleaseSelectStandard:'请选择标准',
theResponsiblePersonEmpty:'的责任人不能为空',
theDeadlineEmpty:'的截止时间不能为空',
}
@@ -413,6 +413,7 @@
}
}
console.debug('---高级查询参数--->', { params, matchType })
this.visible = false
this.$emit(this.callback, params, matchType)
},
handleCancel() {
@@ -95,13 +95,13 @@
<span class="title-text-text"
:title="$t('engineer')">{{$t('engineer')}}</span>
</div>
<a-form-model-item class="itemModel" prop="userName">
<a-form-model-item class="itemModel" prop="userIdName">
<PersonnelSelection
:query="{db_field_name:'userId',db_field_txt:$t('engineer')}"
:personneQuery="formInline"
:distributionEngineerList="distributionEngineerList"
@change="PersonnelSelectionChange"
v-model="formInline.userName"/>
v-model="formInline.userIdName"/>
</a-form-model-item>
</div>
</a-col>
@@ -385,7 +385,7 @@
trigger: 'change'
}
],
userName: [
userIdName: [
{
required: true,
message: this.$t('engineer') + this.$t('cannotEmpty'),
@@ -623,8 +623,9 @@
})
}
this.formInline.userId = userId.join(',')
this.formInline.userName = userName.join(',')
this.formInline.userIdName = userName.join(',')
this.formInline = { ...this.formInline }
console.log(this.formInline)
}
this.loadingTable = false
} else {
@@ -682,7 +683,7 @@
this.formInline[value] = id
this.distributionEngineerList = []
if (id) {
this.formInline.userName.split(',').forEach((res, index) => {
this.formInline.userIdName.split(',').forEach((res, index) => {
this.distributionEngineerList.push({
deliveryInstructions: '',
name: res,
@@ -713,9 +714,9 @@
})
_this.distributionEngineerList.splice(num, 1)
_this.distributionEngineerList = [..._this.distributionEngineerList]
_this.formInline.userName = _this.formInline.userName.split(',')
_this.formInline.userName.splice(num, 1)
_this.formInline.userName = _this.formInline.userName.join(',')
_this.formInline.userIdName = _this.formInline.userIdName.split(',')
_this.formInline.userIdName.splice(num, 1)
_this.formInline.userIdName = _this.formInline.userIdName.join(',')
_this.formInline.userId = _this.formInline.userId.split(',')
_this.formInline.userId.splice(num, 1)
_this.formInline.userId = _this.formInline.userId.join(',')
@@ -53,10 +53,11 @@
:data-source="dataSource"
:columns="columns"
>
<!-- @click="standardClick(result)"-->
<div slot="standardInformation" slot-scope="text,result" class="box-left">
<div class="content">
<a class="box-content-a" :title="result.serialNumber">{{result.serialNumber}}dsf jdslfkj dsflkdsjfdslkfjds fldskfjdsklfds</a>
<a class="box-content-buttom" :title="result.title">{{result.title}}sdfdsfdsfdsfjds lfdjsfdslfjsflkdsfjdsklfdjsfklsd</a>
<a class="box-content-a" :title="result.serialNumber">{{result.serialNumber}}</a>
<a class="box-content-buttom" :title="result.title">{{result.title}}</a>
</div>
</div>
<div slot="areaOfResponsibility" slot-scope="text,result" class="box-left">
@@ -414,7 +415,16 @@
},
TaskListModelList() {
this.getList()
}
},
standardClick(row){
let newUrl = this.$router.resolve({
path: '/docManage/library/detail',
query: {
id:row.id
}
})
window.open(newUrl.href, '_blank')
},
}
}
</script>
@@ -26,11 +26,53 @@
</a-col>
<a-col :md="6" :sm="8">
<div class="box-title-text">
<div class="title-text" style="width: 44px" :title="$t('subtitle')">
<span>{{ $t('subtitle') }}</span>
<div class="title-text" :title="$t('areaOfResponsibility')">
<span>{{ $t('areaOfResponsibility') }}</span>
</div>
<j-input class="box-input" :placeholder="$t('PleaseEnter')+$t('subtitle')"
v-model="queryParam.subtitle"></j-input>
<j-dict-select-tag class="box-input" v-model="queryParam.dutyTerritory"
: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>
</a-col>
<span style="float: right;overflow: hidden;margin-right: 11px" class="table-page-search-submitButtons">
@@ -184,6 +226,12 @@
{{text}}
</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>{{ record.designDeliverableTypeName }}</span><br v-if="record.designDeliverableTypeName">
<a v-if="record.designDeliverableTemplate && record.designDeliverableTemplate.split(',').length == 1"
@@ -409,7 +457,7 @@
dataIndex: 'serialNumber',
width: 180,
fixed: 'left',
scopedSlots: { customRender: 'titleName' }
scopedSlots: { customRender: 'standard' }
},
{
title: this.$t('title'),
@@ -769,6 +817,11 @@
value: 'correspondingStandard',
text: this.$t('correspondingStandard')
},
{
type: 'string',
value: 'subtitle',
text: this.$t('subtitle')
},
{
type: '',
value: 'implementType',
@@ -832,59 +885,49 @@
valueName: 'engineeringInterfacePersonName',
text: this.$t('engineeringInterfacePerson')
},
],
listOptions:[
{
type: '',
value: 'inventoryAffirmStatus',
text: this.$t('listConfirmationStatus'),
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'),
},
],
value:'Not started',
key:'Not started',
label:this.$t('notLaunch'),
},
{
type: '',
value: 'taskAffirmStatus',
text: this.$t('taskAffirmStatus'),
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'),
},
],
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'),
},
],
taskOptions:[
{
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'),
},
],
visibleRoleSwitching: false,
@@ -1656,27 +1699,45 @@
&& dataSource[i].designInitiatorId == this.userInfo().id) ||
(dataSource[i].designInitiatorId == dataSource[i].homologationEngineerId
&& 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>)
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
&& dataSource[i].prehomoInitiatorId == this.userInfo().id) ||
(dataSource[i].prehomoInitiatorId == dataSource[i].homologationEngineerId
&& 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>)
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
&& dataSource[i].verifyInitiatorId == this.userInfo().id) ||
(dataSource[i].verifyInitiatorId == dataSource[i].homologationEngineerId
&& 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>)
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'))
}
}
}
},
standardClick(row){
let newUrl = this.$router.resolve({
path: '/docManage/library/detail',
query: {
id:row.id
}
})
window.open(newUrl.href, '_blank')
},
}
}
</script>
@@ -1986,14 +2056,14 @@
}
.title-text {
width: 32px;
width: 92px;
color: #000F16;
display: inline-block;
font-weight: 500;
font-size: 14px;
margin-right: 16px;
margin-top: 3px;
text-align: left;
text-align: right;
white-space: nowrap;
overflow: hidden;
text-overflow: ellipsis;