Merge branch 'dev_2nd_LCYH' of http://git.hzwlsoft.com/laws-nio/laws-weilai into dev_2nd_LCYH

This commit is contained in:
yuekuo
2023-03-31 16:40:56 +08:00
9 changed files with 319 additions and 193 deletions
@@ -437,3 +437,15 @@ ALTER TABLE `project_task_planning`
-- 项目库-认证清单-认证目录 说明字段长度修改 2023-3-30 未同步生产环境 -- 项目库-认证清单-认证目录 说明字段长度修改 2023-3-30 未同步生产环境
ALTER TABLE `project_certification_directory` 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`; MODIFY COLUMN `explain_info` varchar(2000) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '说明' AFTER `detection_report_location`;
-- 项目库-法规清单-定版表增加字段 2023-3-30 未同步生产环境
ALTER TABLE `project_version_info`
MODIFY COLUMN `inventory_affirm_status` varchar(100) CHARACTER SET utf32 NULL DEFAULT NULL COMMENT '清单确认状态' AFTER `task_affirm_status`,
ADD COLUMN `design_flow_status` varchar(255) NULL COMMENT '设计符合性确认-流程状态' AFTER `inventory_affirm_status`,
ADD COLUMN `verify_flow_status` varchar(255) NULL COMMENT '验证符合性确认-流程状态' AFTER `design_flow_status`;
-- 项目库-法规清单-定版表增加字段 2023-3-30 未同步生产环境
ALTER TABLE `project_version_info`
ADD COLUMN `project_laws_inventory_id` varchar(255) NULL COMMENT '法规清单数据id' AFTER `verify_flow_status`;
ALTER TABLE `project_version_info`
ADD COLUMN `applicable_supplement` varchar(255) NULL COMMENT '适用增补件' AFTER `project_laws_inventory_id`;
@@ -444,9 +444,9 @@ public class AuthDummyInventoryInfoEOServiceImpl extends ServiceImpl<AuthDummyIn
//文件 //文件
String excelName = ""; String excelName = "";
if(CutEnum.CN.getValue().equals(authDummyInventoryInfoEO.getCut())){ if(CutEnum.CN.getValue().equals(authDummyInventoryInfoEO.getCut())){
excelName = baseList.get(0).getName() + " 虚拟认证清单.xlsx"; excelName = baseList.get(0).getName() + " 市场认证清单.xlsx";
}else{ }else{
excelName = baseList.get(0).getName() + " Virtual Authentication list.xlsx"; excelName = baseList.get(0).getName() + " Market Certification List.xlsx";
} }
//excel //excel
OutputStream excelOS = new FileOutputStream(path + File.separator + excelName); OutputStream excelOS = new FileOutputStream(path + File.separator + excelName);
@@ -271,7 +271,7 @@ public class ProjectVersionInfoEO implements Serializable {
/**设计符合性确认-责任人名称*/ /**设计符合性确认-责任人名称*/
@TableField(exist = false) @TableField(exist = false)
private String designDutyName; private String designDutyIdName;
/**prehomo确认-发起人名称*/ /**prehomo确认-发起人名称*/
@@ -288,7 +288,7 @@ public class ProjectVersionInfoEO implements Serializable {
/**验证符合性确认-责任人名称*/ /**验证符合性确认-责任人名称*/
@TableField(exist = false) @TableField(exist = false)
private String verifyDutyName; private String verifyDutyIdName;
@@ -329,4 +329,32 @@ public class ProjectVersionInfoEO implements Serializable {
private String verifyDeliverableTemplateName; private String verifyDeliverableTemplateName;
/**设计符合性确认-流程状态*/
@ApiModelProperty(value = "设计符合性确认-流程状态")
private String designFlowStatus;
@TableField(exist = false)
@Excel(name = "流程状态", width = 20,groupName = "设计符合性确认")
private String designFlowStatusName;
/**验证符合性确认-流程状态*/
@ApiModelProperty(value = "验证符合性确认-流程状态")
private String verifyFlowStatus;
@TableField(exist = false)
@Excel(name = "流程状态", width = 20,groupName = "验证符合性确认")
private String verifyFlowStatusName;
/**验证符合性确认-流程实例id*/
@TableField(exist = false)
private String verifyPId;
/**设计符合性确认-流程实例id*/
@TableField(exist = false)
private String designPId;
@ApiModelProperty(value = "法规清单数据id")
private String projectLawsInventoryId;
/**适用增补件*/
@ApiModelProperty(value = "适用增补件")
private java.lang.String applicableSupplement;
} }
@@ -183,6 +183,7 @@ public class ProjectCertificationInventoryEOServiceImpl extends ServiceImpl<Proj
public void editById(ProjectCertificationInventoryEO projectCertificationInventoryEO) { public void editById(ProjectCertificationInventoryEO projectCertificationInventoryEO) {
List<String> flowStatusList = new ArrayList<>(); List<String> flowStatusList = new ArrayList<>();
flowStatusList.add(CertificationInventoryFlowStatusEnum.TASK_TO_BE_CONFIRMED.getValue()); flowStatusList.add(CertificationInventoryFlowStatusEnum.TASK_TO_BE_CONFIRMED.getValue());
flowStatusList.add(CertificationInventoryFlowStatusEnum.RESULTS_TO_BE_SUBMITTED.getValue());
QueryWrapper<ProjectCertificationInventoryEO> certificationQueryWrap = new QueryWrapper<>(); QueryWrapper<ProjectCertificationInventoryEO> certificationQueryWrap = new QueryWrapper<>();
certificationQueryWrap.lambda().eq(ProjectCertificationInventoryEO::getId,projectCertificationInventoryEO.getId()); certificationQueryWrap.lambda().eq(ProjectCertificationInventoryEO::getId,projectCertificationInventoryEO.getId());
@@ -205,6 +206,8 @@ public class ProjectCertificationInventoryEOServiceImpl extends ServiceImpl<Proj
List<String> userIdList = Arrays.asList(projectLibraryBase.getCertificationEngineer().split(",")); List<String> userIdList = Arrays.asList(projectLibraryBase.getCertificationEngineer().split(","));
List<SysUser> userInfoList = this.sysUserService.querySysUserListByIdList(userIdList); List<SysUser> userInfoList = this.sysUserService.querySysUserListByIdList(userIdList);
editEndTimeCertificationInventoryEOS.get(0).setEndTime(projectCertificationInventoryEO.getEndTime());
this.sendMessageByTemplateId( this.sendMessageByTemplateId(
editEndTimeCertificationInventoryEOS, editEndTimeCertificationInventoryEOS,
TemplateInfoEnum2.CERTIFICATION_MESSAGE14.getValue(), TemplateInfoEnum2.CERTIFICATION_MESSAGE14.getValue(),
@@ -56,6 +56,7 @@ public class ProjectHistoryVersionsEOServiceImpl extends ServiceImpl<ProjectHist
BeanUtils.copyProperties(projectLawsInventoryEO, projectVersionInfoEO); BeanUtils.copyProperties(projectLawsInventoryEO, projectVersionInfoEO);
projectVersionInfoEO.setId(UUID.randomUUID().toString().replace("-", "")); projectVersionInfoEO.setId(UUID.randomUUID().toString().replace("-", ""));
projectVersionInfoEO.setHistoryVersionsId(projectHistoryVersionsEO.getId()); projectVersionInfoEO.setHistoryVersionsId(projectHistoryVersionsEO.getId());
projectVersionInfoEO.setProjectLawsInventoryId(projectLawsInventoryEO.getId());
projectVersionInfoEOS.add(projectVersionInfoEO); projectVersionInfoEOS.add(projectVersionInfoEO);
} }
} }
@@ -7,6 +7,7 @@ import com.jero.common.system.query.QueryGenerator;
import com.jero.modules.oss.entity.OSSFile; import com.jero.modules.oss.entity.OSSFile;
import com.jero.modules.oss.service.IOSSFileService; import com.jero.modules.oss.service.IOSSFileService;
import com.jero.modules.project.entity.ProjectVersionInfoEO; import com.jero.modules.project.entity.ProjectVersionInfoEO;
import com.jero.modules.project.enums.ComplianceFlowStatusEnum;
import com.jero.modules.project.enums.InventoryAffirmStatusEnum; import com.jero.modules.project.enums.InventoryAffirmStatusEnum;
import com.jero.modules.project.mapper.ProjectVersionInfoEOMapper; import com.jero.modules.project.mapper.ProjectVersionInfoEOMapper;
import com.jero.modules.project.service.IProjectVersionInfoEOService; import com.jero.modules.project.service.IProjectVersionInfoEOService;
@@ -14,6 +15,9 @@ import com.jero.modules.system.entity.SysCategory;
import com.jero.modules.system.entity.SysUser; import com.jero.modules.system.entity.SysUser;
import com.jero.modules.system.mapper.SysUserMapper; import com.jero.modules.system.mapper.SysUserMapper;
import com.jero.modules.system.service.impl.SysCategoryServiceImpl; import com.jero.modules.system.service.impl.SysCategoryServiceImpl;
import com.jero.modules.todoCenter.entity.ProcessInfoDetailEO;
import com.jero.modules.todoCenter.service.IProcessInfoDetailEOService;
import com.jero.modules.wkflow.enums.FlowTypeEnum;
import org.apache.commons.collections4.CollectionUtils; import org.apache.commons.collections4.CollectionUtils;
import org.apache.commons.lang3.StringUtils; import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
@@ -39,6 +43,9 @@ public class ProjectVersionInfoEOServiceImpl extends ServiceImpl<ProjectVersionI
private SysCategoryServiceImpl sysCategoryService; private SysCategoryServiceImpl sysCategoryService;
@Autowired @Autowired
private SysUserMapper sysUserMapper; private SysUserMapper sysUserMapper;
@Autowired
private IProcessInfoDetailEOService processInfoDetailEOService;
/** /**
* 保存 * 保存
* *
@@ -208,6 +215,37 @@ public class ProjectVersionInfoEOServiceImpl extends ServiceImpl<ProjectVersionI
deliverableList.addAll(Arrays.asList(projectVersionInfoEO.getVerifyDeliverableTemplate().split(","))); deliverableList.addAll(Arrays.asList(projectVersionInfoEO.getVerifyDeliverableTemplate().split(",")));
} }
// 处理符合性流程状态
if(StringUtils.isNotEmpty(projectVersionInfoEO.getDesignFlowStatus())){
String designFlowStatusName = ComplianceFlowStatusEnum.getTextByValue(projectVersionInfoEO.getDesignFlowStatus(), cut);
projectVersionInfoEO.setDesignFlowStatusName(designFlowStatusName);
}
if(StringUtils.isNotEmpty(projectVersionInfoEO.getVerifyFlowStatus())){
String verifyFlowStatusName = ComplianceFlowStatusEnum.getTextByValue(projectVersionInfoEO.getVerifyFlowStatus(), cut);
projectVersionInfoEO.setVerifyFlowStatusName(verifyFlowStatusName);
}
// 返回符合性流程的流程实例id
if(!StringUtils.equals(projectVersionInfoEO.getVerifyFlowStatus(),ComplianceFlowStatusEnum.LIST_TO_BE_RELEASED.getValue())
||!StringUtils.equals(projectVersionInfoEO.getVerifyFlowStatus(),ComplianceFlowStatusEnum.LIST_TO_BE_CHECKED.getValue())){
QueryWrapper<ProcessInfoDetailEO> processInfoDetailEOQueryWrapper = new QueryWrapper<>();
processInfoDetailEOQueryWrapper.lambda().eq(ProcessInfoDetailEO::getProjectLawsInventoryId,projectVersionInfoEO.getProjectLawsInventoryId());
processInfoDetailEOQueryWrapper.lambda().eq(ProcessInfoDetailEO::getFlowType, FlowTypeEnum.YZFHXSCLC.getValue());
List<ProcessInfoDetailEO> processInfoDetailEOS = this.processInfoDetailEOService.list(processInfoDetailEOQueryWrapper);
if(CollectionUtils.isNotEmpty(processInfoDetailEOS)){
projectVersionInfoEO.setVerifyPId(processInfoDetailEOS.get(0).getActiProcInstId());
}
}
if(!StringUtils.equals(projectVersionInfoEO.getDesignFlowStatus(),ComplianceFlowStatusEnum.LIST_TO_BE_RELEASED.getValue())
||!StringUtils.equals(projectVersionInfoEO.getDesignFlowStatus(),ComplianceFlowStatusEnum.LIST_TO_BE_CHECKED.getValue())){
QueryWrapper<ProcessInfoDetailEO> processInfoDetailEOQueryWrapper = new QueryWrapper<>();
processInfoDetailEOQueryWrapper.lambda().eq(ProcessInfoDetailEO::getProjectLawsInventoryId,projectVersionInfoEO.getProjectLawsInventoryId());
processInfoDetailEOQueryWrapper.lambda().eq(ProcessInfoDetailEO::getFlowType,FlowTypeEnum.SJFHXSHLC.getValue());
List<ProcessInfoDetailEO> processInfoDetailEOS = this.processInfoDetailEOService.list(processInfoDetailEOQueryWrapper);
if(CollectionUtils.isNotEmpty(processInfoDetailEOS)){
projectVersionInfoEO.setDesignPId(processInfoDetailEOS.get(0).getActiProcInstId());
}
}
} }
List<SysUser> sysUsers = new ArrayList<>(); List<SysUser> sysUsers = new ArrayList<>();
@@ -259,7 +297,7 @@ public class ProjectVersionInfoEOServiceImpl extends ServiceImpl<ProjectVersionI
if(StringUtils.isNotEmpty(designDutyId)){ if(StringUtils.isNotEmpty(designDutyId)){
String designDutyName = sysUsers.stream().filter(e -> designDutyId.equals(e.getId())). String designDutyName = sysUsers.stream().filter(e -> designDutyId.equals(e.getId())).
map(SysUser::getUsername).collect(Collectors.joining(",")); map(SysUser::getUsername).collect(Collectors.joining(","));
projectVersionInfoEO.setDesignDutyName(designDutyName); projectVersionInfoEO.setDesignDutyIdName(designDutyName);
} }
//prehomo确认 //prehomo确认
@@ -291,7 +329,7 @@ public class ProjectVersionInfoEOServiceImpl extends ServiceImpl<ProjectVersionI
if(StringUtils.isNotEmpty(verifyDutyId)){ if(StringUtils.isNotEmpty(verifyDutyId)){
String verifyDutyName = sysUsers.stream().filter(e -> verifyDutyId.equals(e.getId())). String verifyDutyName = sysUsers.stream().filter(e -> verifyDutyId.equals(e.getId())).
map(SysUser::getUsername).collect(Collectors.joining(",")); map(SysUser::getUsername).collect(Collectors.joining(","));
projectVersionInfoEO.setVerifyDutyName(verifyDutyName); projectVersionInfoEO.setVerifyDutyIdName(verifyDutyName);
} }
} }
@@ -691,7 +691,7 @@
Action(url, query).then((res) => { Action(url, query).then((res) => {
if (res.success) { if (res.success) {
this.confirmLoading = false this.confirmLoading = false
if (res.result && res.result.length > 0) { if (res.result && res.result.length > 0 && res.result instanceof Array) {
let detailedWarningList = [] let detailedWarningList = []
res.result.forEach(val => { res.result.forEach(val => {
detailedWarningList.push( detailedWarningList.push(
@@ -1055,22 +1055,22 @@
isResultReported: false, isResultReported: false,
// fieldList | array || 需要查询的列集合示例如下type类型有:date/datetime/string/int/number // fieldList | array || 需要查询的列集合示例如下type类型有:date/datetime/string/int/number
fieldList: [ fieldList: [
{ // {
type: 'string', // type: 'string',
value: 'correspondingStandard', // value: 'correspondingStandard',
text: this.$t('correspondingStandard') // text: this.$t('correspondingStandard')
}, // },
{ {
type: 'string', type: 'string',
value: 'subtitle', value: 'subtitle',
text: this.$t('subtitle') text: this.$t('subtitle')
}, },
{ // {
type: '', // type: '',
value: 'implementType', // value: 'implementType',
text: this.$t('implementationCategory'), // text: this.$t('implementationCategory'),
dictCode: 'implement_type'//只要 dictCode 有值无论 type 是什么都显示为字典下拉框 // dictCode: 'implement_type'//只要 dictCode 有值无论 type 是什么都显示为字典下拉框
}, // },
{ {
type: 'date', type: 'date',
value: 'xin1Che1Xing2Shi2Shi1Ri4Qi1', value: 'xin1Che1Xing2Shi2Shi1Ri4Qi1',
@@ -1104,24 +1104,12 @@
text: this.$t('areaOfResponsibility'), text: this.$t('areaOfResponsibility'),
dictCode: 'duty_territory'//只要 dictCode 有值无论 type 是什么都显示为字典下拉框 dictCode: 'duty_territory'//只要 dictCode 有值无论 type 是什么都显示为字典下拉框
}, },
{
type: '',
value: 'region',
text: this.$t('zoneOfApplication'),
dictCode: 'region'//只要 dictCode 有值无论 type 是什么都显示为字典下拉框
},
{ {
type: 'Personnel', type: 'Personnel',
value: 'regulationOwnerId', value: 'regulationOwnerId',
valueName: 'regulationOwnerIdName', valueName: 'regulationOwnerIdName',
text: this.$t('regulatoryEngineer') text: this.$t('regulatoryEngineer')
}, },
{
type: 'Personnel',
value: 'homologationEngineerId',
valueName: 'homologationEngineerIdName',
text: this.$t('certifiedEngineer')
},
{ {
type: 'Personnel', type: 'Personnel',
value: 'engineeringInterfacePerson', value: 'engineeringInterfacePerson',
@@ -35,12 +35,14 @@
</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">
<a-col :md="6" :sm="24"> <a-col :md="6" :sm="24">
<globalAdvancedQuery ref="globalAdvancedQueryRef" <a-button class="box-button" type="primary"
@handleSuperQuery="handleSuperQuery" style="margin-right: 8px"
:fieldList="fieldList"/> @click="searchQuery">{{ $t('query') }}</a-button>
<a-button class="box-button" type="primary" @click="searchQuery">{{ $t('query') }}</a-button> <a-button class="box-button"
<a-button class="box-button" style="margin-left: 8px"
@click="searchReset">{{ $t('reset') }}</a-button> @click="searchReset">{{ $t('reset') }}</a-button>
<globalAdvancedQuery ref="globalAdvancedQueryRef"
@handleSuperQuery="handleSuperQuery"
:fieldList="fieldList"/>
</a-col> </a-col>
</span> </span>
</a-row> </a-row>
@@ -58,37 +60,50 @@
:columns="columns" :columns="columns"
> >
<span slot="titleName" slot-scope="text,record" :title="text"> <span slot="titleName" slot-scope="text,record" :title="text">
{{ text && text.length > 20 ? text.slice(0, 19) + '...' : text }} <span class="textName">
{{ text }}
</span>
</span> </span>
<span slot="designDeliverableTemplateName" slot-scope="text,record">
<span>{{ record.designDeliverableTypeName }}</span><br v-if="record.designDeliverableTypeName"> <span slot="standard" slot-scope="text,record" :title="text">
<a v-if="record.designDeliverableTemplate && record.designDeliverableTemplate.split(',').length == 1" <a class="textName" @click="standardClick(record)">
@click="pdfPreviewClick(record.designDeliverableTemplateName,record.designDeliverableTemplate)"> {{ text }}
{{ record.designDeliverableTemplateName }} </a>
</a>
<a v-else-if="record.designDeliverableTemplate && record.designDeliverableTemplate.split(',').length > 1"
@click="clickButtonToUpload(record.designDeliverableTemplate)">{{ $t('viewFile') }}</a>
<span v-else>--</span>
</span> </span>
<span slot="prehomoDeliverableTemplateName" slot-scope="text,record">
<span>{{ record.prehomoDeliverableTypeName }}</span><br v-if="record.prehomoDeliverableTypeName"> <span slot="verifyDeliverableTemplateName" slot-scope="text,result">
<a v-if="record.prehomoDeliverableTemplate && record.prehomoDeliverableTemplate.split(',').length == 1" <span class="viewFile"
@click="pdfPreviewClick(record.prehomoDeliverableTemplateName,record.prehomoDeliverableTemplate)"> @click="viewFileClick(result.verifyDeliverableTemplate)"
{{ record.prehomoDeliverableTemplateName }} v-if="result.verifyDeliverableTemplate">
</a> {{$t('viewFile')}}
<a v-else-if="record.prehomoDeliverableTemplate && record.prehomoDeliverableTemplate.split(',').length > 1" </span>
@click="clickButtonToUpload(record.prehomoDeliverableTemplate)">{{ $t('viewFile') }}</a> <span v-else>--</span>
<span v-else>--</span>
</span> </span>
<span slot="verifyDeliverableTemplateName" slot-scope="text,record"> <span slot="designDeliverableTemplate" slot-scope="text,result">
<span>{{ record.verifyDeliverableTypeName }}</span><br v-if="record.verifyDeliverableTypeName"> <span class="viewFile"
<a v-if="record.verifyDeliverableTemplate && record.verifyDeliverableTemplate.split(',').length == 1" @click="viewFileClick(result.designDeliverableTemplate)"
@click="pdfPreviewClick(record.verifyDeliverableTemplateName,record.verifyDeliverableTemplate)"> v-if="result.designDeliverableTemplate">
{{ record.verifyDeliverableTemplateName }} {{$t('viewFile')}}
</a> </span>
<a v-else-if="record.verifyDeliverableTemplate && record.verifyDeliverableTemplate.split(',').length > 1" <span v-else>--</span>
@click="clickButtonToUpload(record.verifyDeliverableTemplate)">{{ $t('viewFile') }}</a> </span>
<span v-else>--</span> <span slot="designFlowStatusName" slot-scope="text,result">
<span v-if="result.designFlowStatus == 'List to be released' ||
result.designFlowStatus == 'List to be checked'"
:title="text">
{{text}}
</span>
<a v-else @click="designFlowStatusClick(result,$t('designComplianceReview'))"
:title="text">{{text}}</a>
</span>
<span slot="verifyFlowStatusName" slot-scope="text,result">
<span v-if="result.verifyFlowStatus == 'List to be released' ||
result.verifyFlowStatus == 'List to be checked'"
:title="text">
{{text}}
</span>
<a v-else @click="designFlowStatusClick(result,$t('verificationComplianceReview'))"
:title="text">{{text}}</a>
</span> </span>
</a-table> </a-table>
</div> </div>
@@ -125,12 +140,16 @@
</span> </span>
</a-table> </a-table>
</a-modal> </a-modal>
<viewFileModel ref="viewFileModelRef"/>
<designCompliance ref="designComplianceRef"/>
</a-card> </a-card>
</template> </template>
<script> <script>
import ImportFile from '@/components/ImportFile/index' import ImportFile from '@/components/ImportFile/index'
import globalAdvancedQuery from '@/components/globalAdvancedQuery/index' import globalAdvancedQuery from '@/components/globalAdvancedQuery/index'
import viewFileModel from '@/components/viewFileModel/index'
import designCompliance from '../../toDoCenter/projectRegulationTasks/components/designCompliance'
import { getAction, postAction, downloadFile, deleteAction } from '@/api/manage' import { getAction, postAction, downloadFile, deleteAction } from '@/api/manage'
import { mapGetters } from 'vuex' import { mapGetters } from 'vuex'
import { Base64 } from 'js-base64' import { Base64 } from 'js-base64'
@@ -139,22 +158,25 @@
name: 'index', name: 'index',
components: { components: {
globalAdvancedQuery, globalAdvancedQuery,
ImportFile ImportFile,
viewFileModel,
designCompliance
}, },
data() { data() {
return { return {
columns: [ columns: [
{ {
title: this.$t('standard'), title: this.$t('standard'),
align: 'center', align: 'left',
dataIndex: 'serialNumber', dataIndex: 'serialNumber',
width: 180, width: 180,
fixed: 'left', fixed: 'left',
scopedSlots: { customRender: 'titleName' } sorter: true,
scopedSlots: { customRender: 'standard' }
}, },
{ {
title: this.$t('title'), title: this.$t('title'),
align: 'center', align: 'left',
dataIndex: 'title', dataIndex: 'title',
width: 180, width: 180,
fixed: 'left', fixed: 'left',
@@ -162,180 +184,140 @@
}, },
{ {
title: this.$t('subtitle'), title: this.$t('subtitle'),
align: 'center', align: 'left',
dataIndex: 'subtitle', dataIndex: 'subtitle',
width: 180,
fixed: 'left',
scopedSlots: { customRender: 'titleName' }
},
{
title: this.$t('listConfirmationStatus'),
align: 'center',
ellipsis: true, ellipsis: true,
dataIndex: 'inventoryAffirmStatusName' width: 180
}, },
{ {
title: this.$t('taskAffirmStatus'), title: this.$t('applicableSupplement'),
align: 'center', align: 'left',
ellipsis: true, ellipsis: true,
dataIndex: 'taskAffirmStatusName' dataIndex: 'applicableSupplement',
}, width: 200
// {
// title: this.$t('taskReleaseStatus'),
// align: 'center',
// dataIndex: 'taskReleaseStatus'
// },
{
title: this.$t('correspondingStandard'),
align: 'center',
ellipsis: true,
dataIndex: 'correspondingStandard'
},
{
title: this.$t('implementationCategory'),
align: 'center',
ellipsis: true,
dataIndex: 'implementType_dictText'
},
{
title: this.$t('ImplementationDate'),
align: 'center',
ellipsis: true,
dataIndex: 'xin1Che1Xing2Shi2Shi1Ri4Qi1'
},
{
title: this.$t('vehicleInProductionDate'),
align: 'center',
ellipsis: true,
dataIndex: 'implementTime'
},
{
title: 'WVTA ID',
align: 'center',
dataIndex: 'wvtaId',
ellipsis: true
}, },
{ {
title: this.$t('certificationType'), title: this.$t('certificationType'),
align: 'center', align: 'left',
ellipsis: true, ellipsis: true,
dataIndex: 'attestationType_dictText' dataIndex: 'attestationType_dictText',
width: 180
}, },
{ {
title: this.$t('certificationLevel'), title: this.$t('certificationLevel'),
align: 'center', align: 'left',
ellipsis: true, ellipsis: true,
dataIndex: 'attestationRank_dictText' dataIndex: 'attestationRank_dictText',
width: 180
}, },
//
{ {
title: this.$t('areaOfResponsibility'), title: this.$t('areaOfResponsibility'),
align: 'center', align: 'left',
ellipsis: true, ellipsis: true,
dataIndex: 'dutyTerritory_dictText' sorter: true,
dataIndex: 'dutyTerritory_dictText',
width: 180
}, },
{ {
title: this.$t('regulatoryEngineer'), title: this.$t('regulatoryEngineer'),
align: 'center', align: 'left',
ellipsis: true, ellipsis: true,
dataIndex: 'regulationOwnerName' sorter: true,
}, dataIndex: 'regulationOwnerName',
{ width: 180
title: this.$t('certifiedEngineer'),
align: 'center',
ellipsis: true,
dataIndex: 'homologationEngineerName'
}, },
{ {
title: this.$t('engineeringInterfacePerson'), title: this.$t('engineeringInterfacePerson'),
align: 'center', align: 'left',
ellipsis: true, ellipsis: true,
dataIndex: 'engineeringInterfacePersonName' sorter: true,
dataIndex: 'engineeringInterfacePersonName',
width: 180
}, },
{ {
title: this.$t('remarks'), title: this.$t('remarks'),
align: 'center', align: 'left',
ellipsis: true, dataIndex: 'remark',
dataIndex: 'remark' width: 180,
ellipsis: true
}, },
{ {
title: this.$t('confirmationOfDesignConformity'), title: this.$t('confirmationOfDesignConformity'),
children: [ children: [
{
title: this.$t('Deliverables'),
dataIndex: 'designDeliverableTemplateName',
align: 'center',
scopedSlots: { customRender: 'designDeliverableTemplateName' }
},
{
title: this.$t('Sponsor'),
dataIndex: 'designInitiatorName',
align: 'center'
},
{ {
title: this.$t('personLiable'), title: this.$t('personLiable'),
dataIndex: 'designDutyName', dataIndex: 'designDutyIdName',
align: 'center' align: 'left',
width: 180,
ellipsis: true
}, },
{ {
title: this.$t('TaskCutOffTime'), title: this.$t('TaskCutOffTime'),
dataIndex: 'designDueDate', dataIndex: 'designDueDate',
align: 'center' align: 'left',
} ellipsis: true,
] width: 140
},
{
title: this.$t('PrehomoConfirmation'),
children: [
{
title: this.$t('Deliverables'),
dataIndex: 'prehomoDeliverableTemplateName',
align: 'center',
scopedSlots: { customRender: 'prehomoDeliverableTemplateName' }
}, },
{ {
title: this.$t('Sponsor'), title: this.$t('ProcessStatus'),
dataIndex: 'prehomoInitiatorName', dataIndex: 'designFlowStatusName',
align: 'center' align: 'left',
ellipsis: true,
width: 140,
scopedSlots: { customRender: 'designFlowStatusName' }
}, },
{ {
title: this.$t('personLiable'), title: this.$t('deliverableTemplate'),
dataIndex: 'prehomoDutyName', dataIndex: 'designDeliverableTemplate',
align: 'center' align: 'left',
}, width: 180,
{ ellipsis: true,
title: this.$t('TaskCutOffTime'), scopedSlots: { customRender: 'designDeliverableTemplate' }
dataIndex: 'prehomoDueDate',
align: 'center'
} }
] ]
}, },
{ {
title: this.$t('verificationAndConformityconfirmation'), title: this.$t('verificationAndConformityconfirmation'),
children: [ children: [
{
title: this.$t('Deliverables'),
dataIndex: 'verifyDeliverableTemplateName',
align: 'center',
scopedSlots: { customRender: 'verifyDeliverableTemplateName' }
},
{
title: this.$t('Sponsor'),
dataIndex: 'verifyInitiatorName',
align: 'center'
},
{ {
title: this.$t('personLiable'), title: this.$t('personLiable'),
dataIndex: 'verifyDutyName', dataIndex: 'verifyDutyIdName',
align: 'center' align: 'left',
width: 180,
ellipsis: true
}, },
{ {
title: this.$t('TaskCutOffTime'), title: this.$t('TaskCutOffTime'),
dataIndex: 'verifyDueDate', dataIndex: 'verifyDueDate',
align: 'center' align: 'left',
ellipsis: true,
width: 140
},
{
title: this.$t('ProcessStatus'),
dataIndex: 'verifyFlowStatusName',
align: 'left',
ellipsis: true,
width: 180,
scopedSlots: { customRender: 'verifyFlowStatusName' }
},
{
title: this.$t('deliverableTemplate'),
dataIndex: 'verifyDeliverableTemplate',
align: 'left',
width: 180,
ellipsis: true,
scopedSlots: { customRender: 'verifyDeliverableTemplateName' }
} }
] ]
} }
// {
// title: this.$t('operation'),
// align: 'left',
// fixed: 'right',
// width: 260,
// scopedSlots: { customRender: 'operation' }
// }
], ],
columnsFile: [ columnsFile: [
{ {
@@ -345,12 +327,6 @@
width: 260, width: 260,
ellipsis: true ellipsis: true
}, },
{
title: this.$t('operation'),
align: 'center',
width: 130,
scopedSlots: { customRender: 'fileOperation' }
}
], ],
visibleFile: false, visibleFile: false,
dataSourceFile: [], dataSourceFile: [],
@@ -421,6 +397,73 @@
}, },
methods: { methods: {
...mapGetters(['userInfo']), ...mapGetters(['userInfo']),
//流程状态点击事件
designFlowStatusClick(row, name) {
let query = {}
let TaskKey = ''
if (name == this.$t('designComplianceReview')) {
if (row.designFlowStatus == 'Task to be confirmed') {
TaskKey = 'zrrqr'
} else if (row.designFlowStatus == 'Results to be submitted') {
TaskKey = 'zrrtjjfw'
} else if (row.designFlowStatus == 'Results to be reviewed' ||
row.designFlowStatus == 'Compliance' ||
row.designFlowStatus == 'Non-Compliance' ||
row.designFlowStatus == 'To be tracked' ||
row.designFlowStatus == 'NA') {
TaskKey = 'fggcssh'
}
query = {
actiProcInstId: row.designPId,
projectTaskInventoryId: row.id,
projectLibraryId: row.projectLibraryId,
TaskKey: TaskKey,
isDisplay: false,
flowType: 2,
Sponsor: 'regulationOwnerName',
personLiable: 'designDutyIdName',
typeOfDeliverables: 'designDeliverableTypeName',
deliverableTemplate: 'designDeliverableTemplate',
DueDate: 'designDueDate',
remarks: 'designRemark',
projectName: row.projectName,
targetMarket: row.targetMarket,
projectNameId: row.projectNameId,
primaryKeyId: row.primaryKeyId
}
} else {
if (row.verifyFlowStatus == 'Task to be confirmed') {
TaskKey = 'zrrqr'
} else if (row.verifyFlowStatus == 'Results to be submitted') {
TaskKey = 'zrrtjjfw'
} else if (row.verifyFlowStatus == 'Results to be reviewed' ||
row.verifyFlowStatus == 'Compliance' ||
row.verifyFlowStatus == 'Non-Compliance' ||
row.verifyFlowStatus == 'To be tracked' ||
row.verifyFlowStatus == 'NA') {
TaskKey = 'fggcssh'
}
query = {
actiProcInstId: row.verifyPId,
projectTaskInventoryId: row.id,
projectLibraryId: row.projectLibraryId,
TaskKey: TaskKey,
flowType: 4,
isDisplay: false,
Sponsor: 'regulationOwnerName',
personLiable: 'verifyDutyIdName',
typeOfDeliverables: 'verifyDeliverableTypeName',
deliverableTemplate: 'verifyDeliverableTemplate',
DueDate: 'verifyDueDate',
remarks: 'verifyRemark',
projectName: row.projectName,
targetMarket: row.targetMarket,
projectNameId: row.projectNameId,
primaryKeyId: row.primaryKeyId
}
}
this.$refs.designComplianceRef.getList(JSON.parse(JSON.stringify(query)), name)
},
searchQuery() { searchQuery() {
this.getList() this.getList()
}, },
@@ -502,6 +545,19 @@
download(item) { download(item) {
downloadFile('/sys/common/downLoadFile', item.fileName, { id: item.id ,userName:this.userInfo().username}) downloadFile('/sys/common/downLoadFile', item.fileName, { id: item.id ,userName:this.userInfo().username})
}, },
standardClick(row) {
let newUrl = this.$router.resolve({
path: '/docManage/library/detail',
query: {
id: row.standId
}
})
window.open(newUrl.href, '_blank')
},
viewFileClick(item) {
this.$refs.viewFileModelRef.clickButtonToUpload(item)
},
clickButtonToUpload(item) { clickButtonToUpload(item) {
this.loading = true this.loading = true
this.visibleFile = true this.visibleFile = true
@@ -521,8 +577,8 @@
this.loading = false this.loading = false
} }
}) })
} },
} },
} }
</script> </script>