Merge remote-tracking branch 'origin/master'

This commit is contained in:
wangzhijiang
2022-04-19 19:39:17 +08:00
14 changed files with 771 additions and 530 deletions
@@ -46,15 +46,11 @@ public class ProjectLibraryBase implements Serializable {
private java.lang.String studioEngineer; private java.lang.String studioEngineer;
@TableField(exist = false) @TableField(exist = false)
private java.lang.String studioEngineerName; private java.lang.String studioEngineerName;
@TableField(exist = false)
private java.lang.String studioEngineerEnName;
/**认证工程师*/ /**认证工程师*/
private java.lang.String certificationEngineer; private java.lang.String certificationEngineer;
@TableField(exist = false) @TableField(exist = false)
private java.lang.String certificationEngineerName; private java.lang.String certificationEngineerName;
@TableField(exist = false)
private java.lang.String certificationEngineerEnName;
/**车型平台*/ /**车型平台*/
@Dict(dicCode = "vehicle_platform") @Dict(dicCode = "vehicle_platform")
@@ -45,25 +45,18 @@ public class ProjectRelatedPersonnel implements Serializable {
private java.lang.String lawEngineer; private java.lang.String lawEngineer;
@TableField(exist = false) @TableField(exist = false)
private java.lang.String lawEngineerName; private java.lang.String lawEngineerName;
@TableField(exist = false)
private java.lang.String lawEngineerEnName;
/**工程接口人*/ /**工程接口人*/
@Excel(name = "工程接口人", width = 30,orderNum = "3") @Excel(name = "工程接口人", width = 30,orderNum = "3")
private java.lang.String engineeringInterfacePerson; private java.lang.String engineeringInterfacePerson;
@TableField(exist = false) @TableField(exist = false)
private java.lang.String engineeringInterfacePersonName; private java.lang.String engineeringInterfacePersonName;
@TableField(exist = false)
private java.lang.String engineeringInterfacePersonEnName;
/**认证工程师*/ /**认证工程师*/
@Excel(name = "认证工程师", width = 30,orderNum = "4") @Excel(name = "认证工程师", width = 30,orderNum = "4")
private java.lang.String certificationEngineer; private java.lang.String certificationEngineer;
@TableField(exist = false) @TableField(exist = false)
private java.lang.String certificationEngineerName; private java.lang.String certificationEngineerName;
@TableField(exist = false)
private java.lang.String certificationEngineerEnName;
/**备注*/ /**备注*/
@Excel(name = "备注", width = 50,orderNum = "5") @Excel(name = "备注", width = 50,orderNum = "5")
@@ -29,8 +29,7 @@
plb.target_market, plb.target_market,
plb.project_status, plb.project_status,
plb.studio_engineer, plb.studio_engineer,
studiouser.realname as studio_engineer_name, studiouser.username as studio_engineer_name,
studiouser.username as studio_engineer_en_name,
plb.certification_engineer, plb.certification_engineer,
plb.vehicle_platform, plb.vehicle_platform,
plb.digital_platform, plb.digital_platform,
@@ -19,8 +19,6 @@
prp.project_id, prp.project_id,
prp.duty_territory, prp.duty_territory,
prp.law_engineer, prp.law_engineer,
lawuser.username,
enguser.username,
prp.engineering_interface_person, prp.engineering_interface_person,
prp.certification_engineer, prp.certification_engineer,
prp.remark, prp.remark,
@@ -32,11 +30,8 @@
<select id="queryPageList" resultType="com.jero.modules.project.entity.ProjectRelatedPersonnel"> <select id="queryPageList" resultType="com.jero.modules.project.entity.ProjectRelatedPersonnel">
SELECT SELECT
<include refid="select_item"/> <include refid="select_item"/>
FROM FROM
project_related_personnel AS prp project_related_personnel AS prp
LEFT JOIN sys_user AS lawuser ON prp.law_engineer = lawuser.id
LEFT JOIN sys_user AS enguser ON prp.engineering_interface_person = enguser.id
<where> <where>
<if test="params.projectId != null and params.projectId != ''"> <if test="params.projectId != null and params.projectId != ''">
prp.project_id=#{params.projectId} prp.project_id=#{params.projectId}
@@ -50,8 +45,6 @@
<include refid="select_item"/> <include refid="select_item"/>
FROM FROM
project_related_personnel AS prp project_related_personnel AS prp
LEFT JOIN sys_user AS lawuser ON prp.law_engineer = lawuser.id
LEFT JOIN sys_user AS enguser ON prp.engineering_interface_person = enguser.id
<where> <where>
prp.id=#{id} prp.id=#{id}
</where> </where>
@@ -151,41 +151,30 @@ public class ProjectLibraryBaseServiceImpl extends ServiceImpl<ProjectLibraryBas
for (ProjectLibraryBase projectLibraryBase:records) { for (ProjectLibraryBase projectLibraryBase:records) {
List<SysUser> sysUsers = new ArrayList<>(); List<SysUser> sysUsers = new ArrayList<>();
//认证工程师多个id查询 //认证工程师多个id查询
if (StringUtils.isNotEmpty(projectLibraryBase.getCertificationEngineer())) {
List<String> certificationEngineerIdList = Arrays.asList(projectLibraryBase.getCertificationEngineer().split(",")); List<String> certificationEngineerIdList = Arrays.asList(projectLibraryBase.getCertificationEngineer().split(","));
if (CollectionUtils.isNotEmpty(certificationEngineerIdList)) { if (CollectionUtils.isNotEmpty(certificationEngineerIdList)) {
certificationEngineerIdList=certificationEngineerIdList.stream().distinct().collect(Collectors.toList()); certificationEngineerIdList = certificationEngineerIdList.stream().distinct().collect(Collectors.toList());
QueryWrapper<SysUser> userqueryWrapper = new QueryWrapper<>(); QueryWrapper<SysUser> userqueryWrapper = new QueryWrapper<>();
userqueryWrapper.in("id ", certificationEngineerIdList); userqueryWrapper.in("id ", certificationEngineerIdList);
sysUsers = sysUserMapper.selectList(userqueryWrapper); sysUsers = sysUserMapper.selectList(userqueryWrapper);
} }
if(CollectionUtils.isNotEmpty(sysUsers)) { if (CollectionUtils.isNotEmpty(sysUsers)) {
String certificationEngineerId = projectLibraryBase.getCertificationEngineer(); String certificationEngineerId = projectLibraryBase.getCertificationEngineer();
String certificationEngineerName=null; String certificationEngineerName = null;
String certificationEngineerEnName=null;
StringBuilder certificationName=new StringBuilder();
for (String data:certificationEngineerIdList){ for (String data : certificationEngineerIdList) {
if (StringUtils.isNotEmpty(certificationEngineerId)) { if (StringUtils.isNotEmpty(certificationEngineerId)) {
certificationEngineerName = sysUsers.stream().filter(e -> data.equals(e.getId())) certificationEngineerName = sysUsers.stream().filter(e -> data.equals(e.getId()))
.map(sysUser -> sysUser.getRealname()).collect(Collectors.joining(","));
certificationEngineerEnName = sysUsers.stream().filter(e -> data.equals(e.getId()))
.map(sysUser -> sysUser.getUsername()).collect(Collectors.joining(",")); .map(sysUser -> sysUser.getUsername()).collect(Collectors.joining(","));
}
certificationName.append(certificationEngineerName).append("(").append(certificationEngineerEnName).append(")").append(" ");
} }
projectLibraryBase.setCertificationEngineerName(certificationName.toString());
} }
StringBuilder studioCnName= new StringBuilder(projectLibraryBase.getStudioEngineerName()); projectLibraryBase.setCertificationEngineerName(certificationEngineerName);
StringBuilder studioEnName= new StringBuilder(projectLibraryBase.getStudioEngineerEnName()); }
String studioName = studioCnName.append("(").append(studioEnName).append(")").toString(); }
projectLibraryBase.setStudioEngineerName(studioName);
} }
} }
} }
@@ -157,21 +157,14 @@ public class ProjectRelatedPersonnelServiceImpl extends ServiceImpl<ProjectRelat
if(CollectionUtils.isNotEmpty(lawEngineerUsers)) { if(CollectionUtils.isNotEmpty(lawEngineerUsers)) {
String lawEngineerId = projectRelatedPersonnel.getLawEngineer(); String lawEngineerId = projectRelatedPersonnel.getLawEngineer();
String lawEngineerName = null; String lawEngineerName = null;
String lawEngineerEnName = null;
StringBuilder certificationName = new StringBuilder();
for (String data : lawEngineerIdList) { for (String data : lawEngineerIdList) {
if (StringUtils.isNotEmpty(lawEngineerId)) { if (StringUtils.isNotEmpty(lawEngineerId)) {
lawEngineerName = lawEngineerUsers.stream().filter(e -> data.equals(e.getId())) lawEngineerName = lawEngineerUsers.stream().filter(e -> data.equals(e.getId()))
.map(sysUser -> sysUser.getRealname()).collect(Collectors.joining(","));
lawEngineerEnName = lawEngineerUsers.stream().filter(e -> data.equals(e.getId()))
.map(sysUser -> sysUser.getUsername()).collect(Collectors.joining(",")); .map(sysUser -> sysUser.getUsername()).collect(Collectors.joining(","));
} }
certificationName.append(lawEngineerName).append("(").append(lawEngineerEnName).append(")").append(" ");
} }
projectRelatedPersonnel.setLawEngineerName(certificationName.toString()); projectRelatedPersonnel.setLawEngineerName(lawEngineerName);
} }
} }
@@ -188,21 +181,14 @@ public class ProjectRelatedPersonnelServiceImpl extends ServiceImpl<ProjectRelat
if (CollectionUtils.isNotEmpty(engineeringInterfacePersonUsers)) { if (CollectionUtils.isNotEmpty(engineeringInterfacePersonUsers)) {
String engineeringInterfacePersonId = projectRelatedPersonnel.getEngineeringInterfacePerson(); String engineeringInterfacePersonId = projectRelatedPersonnel.getEngineeringInterfacePerson();
String engineeringInterfacePersonName = null; String engineeringInterfacePersonName = null;
String engineeringInterfacePersonEnName = null;
StringBuilder certificationName = new StringBuilder();
for (String data : engineeringInterfacePersonIdList) { for (String data : engineeringInterfacePersonIdList) {
if (StringUtils.isNotEmpty(engineeringInterfacePersonId)) { if (StringUtils.isNotEmpty(engineeringInterfacePersonId)) {
engineeringInterfacePersonName = engineeringInterfacePersonUsers.stream().filter(e -> data.equals(e.getId())) engineeringInterfacePersonName = engineeringInterfacePersonUsers.stream().filter(e -> data.equals(e.getId()))
.map(sysUser -> sysUser.getRealname()).collect(Collectors.joining(","));
engineeringInterfacePersonEnName = engineeringInterfacePersonUsers.stream().filter(e -> data.equals(e.getId()))
.map(sysUser -> sysUser.getUsername()).collect(Collectors.joining(",")); .map(sysUser -> sysUser.getUsername()).collect(Collectors.joining(","));
} }
certificationName.append(engineeringInterfacePersonName).append("(").append(engineeringInterfacePersonEnName).append(")").append(" ");
} }
projectRelatedPersonnel.setEngineeringInterfacePersonName(certificationName.toString()); projectRelatedPersonnel.setEngineeringInterfacePersonName(engineeringInterfacePersonName);
} }
} }
@@ -219,21 +205,14 @@ public class ProjectRelatedPersonnelServiceImpl extends ServiceImpl<ProjectRelat
if(CollectionUtils.isNotEmpty(certificationEngineerUsers)) { if(CollectionUtils.isNotEmpty(certificationEngineerUsers)) {
String certificationEngineerId = projectRelatedPersonnel.getCertificationEngineer(); String certificationEngineerId = projectRelatedPersonnel.getCertificationEngineer();
String certificationEngineerName = null; String certificationEngineerName = null;
String certificationEngineerEnName = null;
StringBuilder certificationName = new StringBuilder();
for (String data : certificationEngineerIdList) { for (String data : certificationEngineerIdList) {
if (StringUtils.isNotEmpty(certificationEngineerId)) { if (StringUtils.isNotEmpty(certificationEngineerId)) {
certificationEngineerName = certificationEngineerUsers.stream().filter(e -> data.equals(e.getId())) certificationEngineerName = certificationEngineerUsers.stream().filter(e -> data.equals(e.getId()))
.map(sysUser -> sysUser.getRealname()).collect(Collectors.joining(","));
certificationEngineerEnName = certificationEngineerUsers.stream().filter(e -> data.equals(e.getId()))
.map(sysUser -> sysUser.getUsername()).collect(Collectors.joining(",")); .map(sysUser -> sysUser.getUsername()).collect(Collectors.joining(","));
} }
certificationName.append(certificationEngineerName).append("(").append(certificationEngineerEnName).append(")").append(" ");
} }
projectRelatedPersonnel.setCertificationEngineerName(certificationName.toString()); projectRelatedPersonnel.setCertificationEngineerName(certificationEngineerName);
} }
} }
+3
View File
@@ -682,4 +682,7 @@ module.exports = {
taskList:'Task list', taskList:'Task list',
TaskParameterCollection:'Task parameter collection', TaskParameterCollection:'Task parameter collection',
nonConformance:'Non conformance', nonConformance:'Non conformance',
deadlineForConfirmationOfDesignCompliance:'Deadline for confirmation of design compliance',
prehomoConfirmationDeadline:'Prehomo confirmation deadline',
verificationComplianceConfirmationDeadline:'Verification compliance confirmation deadline',
} }
+3
View File
@@ -686,4 +686,7 @@ module.exports = {
taskList:'任务清单', taskList:'任务清单',
TaskParameterCollection:'任务参数收集', TaskParameterCollection:'任务参数收集',
nonConformance:'未符合项', nonConformance:'未符合项',
deadlineForConfirmationOfDesignCompliance:'设计符合性确认截止时间',
prehomoConfirmationDeadline:'PreHomo确认截止时间',
verificationComplianceConfirmationDeadline:'验证符合性确认截止时间',
} }
@@ -1366,4 +1366,9 @@
overflow-y: auto; overflow-y: auto;
} }
} }
.box-input .ant-select-selection__rendered {
line-height: 32px;
height: 32px;
overflow-y: auto;
}
</style> </style>
@@ -1252,7 +1252,7 @@
} }
.ant-tree-title{ .ant-tree-title{
span{ span{
display: block; //display: block;
width: auto; width: auto;
overflow:hidden; overflow:hidden;
text-overflow:ellipsis; text-overflow:ellipsis;
@@ -1263,7 +1263,7 @@
.ant-tree-child-tree{ .ant-tree-child-tree{
.ant-tree-title{ .ant-tree-title{
span{ span{
display: block; //display: block;
width: auto; width: auto;
overflow:hidden; overflow:hidden;
text-overflow:ellipsis; text-overflow:ellipsis;
@@ -1,7 +1,7 @@
<template> <template>
<a-spin :spinning="confirmLoading"> <a-spin :spinning="confirmLoading">
<!-- <j-form-container :disabled="formDisabled">--> <!-- <j-form-container :disabled="formDisabled">-->
<div class="form-tag"> <div class="form-tag">
<a-form> <a-form>
<a-form-model <a-form-model
class="tag-content" class="tag-content"
@@ -14,10 +14,10 @@
<a-row> <a-row>
<p class="tag-info">{{$t('essentialInformation')}}</p> <p class="tag-info">{{$t('essentialInformation')}}</p>
<a-divider dashed /> <a-divider dashed />
<!-- 所属模块--> <!-- 所属模块-->
<a-col :span="24"> <a-col :span="24">
<a-form-model-item :label="$t('Module')" prop="isModel"> <a-form-model-item :label="$t('Module')" prop="isModel">
<!-- <j-dict-select-tag type="list" v-model="form.isModel" dictCode="module" :placeholder="$t('PleaseSelectModule')" />--> <!-- <j-dict-select-tag type="list" v-model="form.isModel" dictCode="module" :placeholder="$t('PleaseSelectModule')" />-->
<a-select :placeholder="$t('PleaseSelectModule')" v-model="form.isModel" @change="handleChange" :disabled="disableEdit"> <a-select :placeholder="$t('PleaseSelectModule')" v-model="form.isModel" @change="handleChange" :disabled="disableEdit">
<a-select-option :key="'1'" :value="'1'"> <a-select-option :key="'1'" :value="'1'">
{{$t('DocumentLibrary')}} {{$t('DocumentLibrary')}}
@@ -28,19 +28,19 @@
</a-select> </a-select>
</a-form-model-item> </a-form-model-item>
</a-col> </a-col>
<!-- 属性名称--> <!-- 属性名称-->
<a-col :span="24"> <a-col :span="24">
<a-form-model-item :label="$t('AttributeName')" prop="dbFieldTxt"> <a-form-model-item :label="$t('AttributeName')" prop="dbFieldTxt">
<a-input v-model="form.dbFieldTxt" :placeholder="$t('PleaseEnterPropertyName')" :maxLength="120" ></a-input> <a-input v-model="form.dbFieldTxt" :placeholder="$t('PleaseEnterPropertyName')" :maxLength="120" ></a-input>
</a-form-model-item> </a-form-model-item>
</a-col> </a-col>
<!-- 英文名称--> <!-- 英文名称-->
<a-col :span="24"> <a-col :span="24">
<a-form-model-item :label="$t('enName')" prop="dbFieldEnName"> <a-form-model-item :label="$t('enName')" prop="dbFieldEnName">
<a-input v-model="form.dbFieldEnName" :placeholder="$t('PleaseEnterYourEnglishName')" :maxLength="120" ></a-input> <a-input v-model="form.dbFieldEnName" :placeholder="$t('PleaseEnterYourEnglishName')" :maxLength="120" ></a-input>
</a-form-model-item> </a-form-model-item>
</a-col> </a-col>
<!-- 属性类型--> <!-- 属性类型-->
<a-col :span="24"> <a-col :span="24">
<a-form-model-item :label="$t('AttributeType')" prop="fieldShowType" > <a-form-model-item :label="$t('AttributeType')" prop="fieldShowType" >
<j-dict-select-tag type="list" v-model="form.fieldShowType" dictCode="field_show_type" :placeholder="$t('PleaseSelectAttributeType')" :disabled="disabledEdit" /> <j-dict-select-tag type="list" v-model="form.fieldShowType" dictCode="field_show_type" :placeholder="$t('PleaseSelectAttributeType')" :disabled="disabledEdit" />
@@ -55,7 +55,7 @@
</a-select-option> </a-select-option>
</a-select> </a-select>
</template> </template>
<!-- <j-dict-select-tag type="list" v-model="form.dictName" dictCode="" placeholder="请选择选项内容" />--> <!-- <j-dict-select-tag type="list" v-model="form.dictName" dictCode="" placeholder="请选择选项内容" />-->
</a-form-model-item> </a-form-model-item>
</a-col> </a-col>
<a-col :span="24" v-if="isLength"> <a-col :span="24" v-if="isLength">
@@ -73,30 +73,27 @@
<j-dict-select-tag type="list" v-model="form.fieldMustInput" dictCode="yn" :placeholder="$t('selectWhetherRequired')" /> <j-dict-select-tag type="list" v-model="form.fieldMustInput" dictCode="yn" :placeholder="$t('selectWhetherRequired')" />
</a-form-model-item> </a-form-model-item>
</a-col> </a-col>
<p class="tag-info">{{submitKey == 1 ? $t('DocumentLibraryModuleDisplay'):$t('documentSplitDisplay')}}</p> <p class="tag-info">{{submitKey == 1?$t('DocumentLibraryModuleDisplay'):$t('documentSplitDisplay')}}</p>
<a-divider dashed /> <a-divider dashed />
<a-col :span="24"> <a-col :span="24">
<!-- 文档库列表展示-->
<a-form-model-item :label="$t('DocumentLibraryListDisplay')" prop="isShowList" v-if="submitKey == 1"> <a-form-model-item :label="$t('DocumentLibraryListDisplay')" prop="isShowList" v-if="submitKey == 1">
<j-dict-select-tag type="list" v-model="form.isShowList" dictCode="yn" <j-dict-select-tag type="list" v-model="form.isShowList" dictCode="yn"
:placeholder="$t('selectDisplayList')" /> :placeholder="$t('selectDisplayList')" />
</a-form-model-item> </a-form-model-item>
<!-- 文档拆分列表展示-->
<a-form-model-item :label="$t('documentSplitList')" prop="isShowList" v-if="submitKey == 2"> <a-form-model-item :label="$t('documentSplitList')" prop="isShowList" v-if="submitKey == 2">
<j-dict-select-tag type="list" v-model="form.isShowList" dictCode="yn" <j-dict-select-tag type="list" v-model="form.isShowList" dictCode="yn"
:placeholder="$t('selectDisplayList')" /> :placeholder="$t('selectDisplayList')" />
</a-form-model-item> </a-form-model-item>
</a-col> </a-col>
<a-col :span="24" v-if="moduleShow"> <a-col :span="24" v-if="moduleShow">
<!-- 展示区域-->
<a-form-model-item :label="$t('DisplayArea')" prop="showArea"> <a-form-model-item :label="$t('DisplayArea')" prop="showArea">
<a-select :placeholder="$t('SelectDisplayArea')" v-model="form.showArea" @change="handleChange"> <a-select :placeholder="$t('SelectDisplayArea')" v-model="form.showArea" @change="handleChange">
<a-select-option v-for="(item,index) in areaOptions" :key="item.id" :value="item.id"> <a-select-option v-for="(item,index) in areaOptions" :key="item.id" :value="item.id">
{{item.showArea}} {{item.showArea}}
</a-select-option> </a-select-option>
</a-select> </a-select>
<!-- <j-dict-select-tag type="list" v-model="form.showArea" dictCode="" placeholder="请选择展示区域" />--> <!-- <j-dict-select-tag type="list" v-model="form.showArea" dictCode="" placeholder="请选择展示区域" />-->
</a-form-model-item> </a-form-model-item>
</a-col> </a-col>
<a-col :span="24" v-if="isSearch"> <a-col :span="24" v-if="isSearch">
@@ -117,24 +114,24 @@
<j-dict-select-tag type="list" v-model="form.isShowSearch" dictCode="yn" :placeholder="$t('selectSearchCenterDisplayed')" /> <j-dict-select-tag type="list" v-model="form.isShowSearch" dictCode="yn" :placeholder="$t('selectSearchCenterDisplayed')" />
</a-form-model-item> </a-form-model-item>
</a-col> </a-col>
<!-- <a-col v-if="showFlowSubmitButton" :span="24" style="text-align: center">--> <!-- <a-col v-if="showFlowSubmitButton" :span="24" style="text-align: center">-->
<!-- <a-button @click="submitForm">提 交</a-button>--> <!-- <a-button @click="submitForm">提 交</a-button>-->
<!-- </a-col>--> <!-- </a-col>-->
</a-row> </a-row>
</a-form-model> </a-form-model>
</a-form> </a-form>
</div> </div>
<!-- </j-form-container>--> <!-- </j-form-container>-->
</a-spin> </a-spin>
</template> </template>
<script> <script>
import { httpAction, getAction, postAction } from '@/api/manage' import { httpAction, getAction, postAction } from '@/api/manage'
import pick from 'lodash.pick' import pick from 'lodash.pick'
import { validateDuplicateValue } from '@/utils/util' import { validateDuplicateValue } from '@/utils/util'
export default { export default {
name: 'TagForm', name: 'TagForm',
components: { components: {
}, },
@@ -293,7 +290,6 @@
}, },
'form.isModel'(val){ 'form.isModel'(val){
console.log(form.isModel,'form.isModelform.isModel')
console.log('val',val) console.log('val',val)
if(val=='1'){ if(val=='1'){
this.moduleShow=true this.moduleShow=true
@@ -335,9 +331,7 @@
this.loadShowArea() this.loadShowArea()
// console.log('edit',this.submitEdit) // console.log('edit',this.submitEdit)
if(this.submitEdit==='add'){ if(this.submitEdit==='add'){
console.log(this.submitKey,'this.submitKeythis.submitKey')
if(this.submitKey==='1'){ if(this.submitKey==='1'){
console.log(this.submitKey,'this.submitKeythis.submitKey')
this.form.isModel='1' this.form.isModel='1'
}else if(this.submitKey==='2'){ }else if(this.submitKey==='2'){
this.form.isModel='0' this.form.isModel='0'
@@ -488,21 +482,21 @@
// console.log(`selected ${value}`); // console.log(`selected ${value}`);
}, },
} }
} }
</script> </script>
<style lang="less" scoped> <style lang="less" scoped>
.form-tag{ .form-tag{
.tag-content{ .tag-content{
} }
} }
.tag-info{ .tag-info{
margin-left: 30px; margin-left: 30px;
} }
</style> </style>
<style lang="less"> <style lang="less">
.tag-content{ .tag-content{
.ant-select-selection-selected-value{ .ant-select-selection-selected-value{
color:rgba(0, 0, 0, 0.65); color:rgba(0, 0, 0, 0.65);
} }
} }
</style> </style>
@@ -0,0 +1,276 @@
<template>
<a-modal
:title="$t('batSetting')"
:width="900"
:visible="visible"
:confirm-loading="confirmLoading"
:maskClosable="false"
@ok="handleOk"
@cancel="handleCancel"
>
<a-form-model :model="formInline" class="formAdd" :rules="rules" ref="ruleForm">
<a-row :gutter="24">
<a-col :span="12">
<div class="box-title-text">
<div class="title-text">
<span class="title-text-text"
:title="$t('implementationCategory')">{{$t('implementationCategory')}}</span>
</div>
<a-form-model-item class="itemModel">
<j-dict-select-tag class="box-input" v-model="formInline.implementType"
@input="handleInput('implementType')"
:placeholder="$t('PleaseSelect')+$t('implementationCategory')"
:type="'select'"
:triggerChange="false" dictCode="implement_type"/>
</a-form-model-item>
</div>
</a-col>
<a-col :span="12">
<div class="box-title-text">
<div class="title-text">
<span class="title-text-text" :title="$t('certificationType')">{{$t('certificationType')}}</span>
</div>
<a-form-model-item class="itemModel">
<j-dict-select-tag class="box-input" v-model="formInline.attestationType"
@input="handleInput('attestationType')"
:placeholder="$t('PleaseSelect')+$t('certificationType')"
:type="'select'"
:triggerChange="false" dictCode="attestation_type"/>
</a-form-model-item>
</div>
</a-col>
<a-col :span="12">
<div class="box-title-text">
<div class="title-text">
<span class="title-text-text" :title="$t('certificationLevel')">{{$t('certificationLevel')}}</span>
</div>
<a-form-model-item class="itemModel">
<j-dict-select-tag class="box-input" v-model="formInline.attestationRank"
@input="handleInput('attestationRank')"
:placeholder="$t('PleaseSelect')+$t('certificationLevel')"
:type="'select'"
:triggerChange="false" dictCode="attestation_rank"/>
</a-form-model-item>
</div>
</a-col>
<a-col :span="12">
<div class="box-title-text">
<div class="title-text">
<span class="title-text-text" :title="$t('areaOfResponsibility')">{{$t('areaOfResponsibility')}}</span>
</div>
<a-form-model-item class="itemModel">
<j-dict-select-tag class="box-input" v-model="formInline.dutyTerritory"
@input="handleInput('dutyTerritory')"
:placeholder="$t('PleaseSelect')+$t('areaOfResponsibility')"
:type="'select'"
:triggerChange="false" dictCode="duty_territory"/>
</a-form-model-item>
</div>
</a-col>
<a-col :span="12">
<div class="box-title-text">
<div class="title-text">
<span class="title-text-text" :title="$t('deadlineForConfirmationOfDesignCompliance')">
{{$t('deadlineForConfirmationOfDesignCompliance')}}</span>
</div>
<a-form-model-item class="itemModel">
<a-date-picker class="box-input"
:placeholder="$t('PleaseSelect')+$t('deadlineForConfirmationOfDesignCompliance')"
@change="dateChange({db_field_name:'designDueDate'})"
format="YYYY-MM-DD"
v-model="formInline.designDueDate"
:disabled="false"
style="width: 100%"/>
</a-form-model-item>
</div>
</a-col>
<a-col :span="12">
<div class="box-title-text">
<div class="title-text">
<span class="title-text-text" :title="$t('prehomoConfirmationDeadline')">
{{$t('prehomoConfirmationDeadline')}}</span>
</div>
<a-form-model-item class="itemModel">
<a-date-picker class="box-input"
:placeholder="$t('PleaseSelect')+$t('prehomoConfirmationDeadline')"
@change="dateChange({db_field_name:'prehomoDueDate'})"
format="YYYY-MM-DD"
v-model="formInline.prehomoDueDate"
:disabled="false"
style="width: 100%"/>
</a-form-model-item>
</div>
</a-col>
<a-col :span="12">
<div class="box-title-text">
<div class="title-text">
<span class="title-text-text" :title="$t('verificationComplianceConfirmationDeadline')">
{{$t('verificationComplianceConfirmationDeadline')}}</span>
</div>
<a-form-model-item class="itemModel">
<a-date-picker class="box-input"
:placeholder="$t('PleaseSelect')+$t('verificationComplianceConfirmationDeadline')"
@change="dateChange({db_field_name:'verifyDueDate'})"
format="YYYY-MM-DD"
v-model="formInline.verifyDueDate"
:disabled="false"
style="width: 100%"/>
</a-form-model-item>
</div>
</a-col>
</a-row>
</a-form-model>
</a-modal>
</template>
<script>
import { getAction, postAction } from '@/api/manage'
import moment from 'moment'
export default {
name: 'batSetting',
props: ['url'],
data() {
return {
visible: false,
confirmLoading: false,
formInline: {},
rules: {},
ids: []
}
},
mounted() {
},
methods: {
edit(data) {
this.visible = true
this.$nextTick(() => {
this.ids = data || []
this.formInline = {}
})
},
handleOk() {
let ids = JSON.parse(JSON.stringify(this.ids))
let query = {
ids: ids.join(','),
...this.formInline
}
this.confirmLoading = true
postAction(this.url.setBatch, query).then((res) => {
if (res.success) {
this.$message.success(this.$t('OperationSuccessful'))
this.visible = false
this.confirmLoading = false
this.$emit('batSettingList')
} else {
this.$message.warning(this.$t('operationFailed'))
this.confirmLoading = false
}
})
},
handleCancel() {
this.formInline = {}
this.visible = false
},
handleInput(value) {
this.$nextTick(() => {
this.formInline = { ...this.formInline }
this.$refs.ruleForm.validateField([value])
})
},
dateChange(item) {
this.formInline[item.db_field_name] = this.formInline[item.db_field_name] ? moment(this.formInline[item.db_field_name]).format('YYYY-MM-DD') : ''
}
}
}
</script>
<style>
.formAdd .ant-form-item-label {
width: 130px;
}
.formAdd .ant-form-item-control-wrapper {
display: inline-block;
width: calc(100% - 130px);
}
/*.formAdd .ant-form-item {*/
/* margin-bottom: 20px;*/
/*}*/
.itemModel .ant-form-item-control-wrapper {
width: 100%;
}
.box-input .ant-select-selection--single {
height: 38px;
}
.box-input .ant-select-selection--multiple {
height: 38px;
}
.box-input .ant-select-selection__rendered {
line-height: 38px;
height: 38px;
}
.box-input .ant-select-selection--multiple .ant-select-selection__rendered > ul > li {
margin-top: 6px;
}
.box-input .ant-calendar-picker {
line-height: 38px;
height: 38px;
}
.box-input .ant-calendar-picker-input {
height: 38px;
}
.box-input .ant-input-number-input-wrap {
line-height: 38px;
height: 38px;
}
</style>
<style scoped>
.box-title-text {
line-height: 1.4;
display: flex;
}
.title-text {
width: 84px;
text-align: right;
display: inline-block;
font-weight: 500;
font-size: 14px;
margin-right: 16px;
overflow: hidden;
text-overflow: ellipsis;
white-space: nowrap;
height: 42px;
line-height: 42px;
}
.box-input {
display: inline-block;
height: 38px;
width: 100%;
}
.itemModel {
width: calc(100% - 130px);
display: inline-block;
margin-top: 2px;
}
.title-text-text {
margin-top: 9px;
}
.formAdd {
margin-bottom: 40px;
}
</style>
@@ -163,6 +163,7 @@
</div> </div>
<listAddModel :url="url" @addModelList="addModelList" ref="addModelRef"/> <listAddModel :url="url" @addModelList="addModelList" ref="addModelRef"/>
<listEditModel :url="url" @editModelList="addModelList" ref="editModelRef"/> <listEditModel :url="url" @editModelList="addModelList" ref="editModelRef"/>
<batSetting :url="url" @batSettingList="addModelList" ref="batSettingRef"/>
<a-modal <a-modal
:title="$t('ListConfirmationDeadline')" :title="$t('ListConfirmationDeadline')"
:width="500" :width="500"
@@ -227,6 +228,7 @@
import ImportFile from '@/components/ImportFile/index' import ImportFile from '@/components/ImportFile/index'
import listAddModel from './listAddModel' import listAddModel from './listAddModel'
import listEditModel from './listEditModel' import listEditModel from './listEditModel'
import batSetting from './batSetting'
import { getAction, postAction, downloadFile, deleteAction } from '@/api/manage' import { getAction, postAction, downloadFile, deleteAction } from '@/api/manage'
import moment from 'moment' import moment from 'moment'
import { mapGetters } from 'vuex' import { mapGetters } from 'vuex'
@@ -237,7 +239,8 @@
components: { components: {
ImportFile, ImportFile,
listAddModel, listAddModel,
listEditModel listEditModel,
batSetting
}, },
data() { data() {
return { return {
@@ -485,7 +488,8 @@
deleteOne: '/project/projectLawsInventoryEO/delete', deleteOne: '/project/projectLawsInventoryEO/delete',
updateStatusBatch: '/project/projectLawsInventoryEO/updateStatusBatch', updateStatusBatch: '/project/projectLawsInventoryEO/updateStatusBatch',
matchRelevantPeople: '/project/projectLawsInventoryEO/matchRelevantPeople', matchRelevantPeople: '/project/projectLawsInventoryEO/matchRelevantPeople',
queryPersonByProject: '/project/projectRelatedPersonnel/queryPersonByProjectId' queryPersonByProject: '/project/projectRelatedPersonnel/queryPersonByProjectId',
setBatch: ''
}, },
loading: false, loading: false,
dataSource: [] dataSource: []
@@ -512,7 +516,11 @@
}, },
batSettingClick() { batSettingClick() {
if (this.selectedRowKeys && this.selectedRowKeys.length > 0) {
this.$refs.batSettingRef.edit(JSON.parse(JSON.stringify(this.selectedRowKeys)))
} else {
this.$message.warning(this.$t('selectLeastOne'))
}
}, },
handleAdd() { handleAdd() {
this.$refs.addModelRef.addModel() this.$refs.addModelRef.addModel()
@@ -621,6 +629,7 @@
if (res.success) { if (res.success) {
this.$message.success(this.$t('OperationSuccessful')) this.$message.success(this.$t('OperationSuccessful'))
this.visible = false this.visible = false
this.selectedRowKeys = []
this.confirmLoading = false this.confirmLoading = false
this.getList() this.getList()
} else { } else {
@@ -668,6 +677,7 @@
if (res.success) { if (res.success) {
_this.$message.success(_this.$t('OperationSuccessful')) _this.$message.success(_this.$t('OperationSuccessful'))
_this.visible = false _this.visible = false
this.selectedRowKeys = []
_this.confirmLoading = false _this.confirmLoading = false
_this.getList() _this.getList()
} else { } else {
@@ -69,6 +69,7 @@
</div> </div>
<a-form-model-item class="itemModel" prop="dutyTerritory"> <a-form-model-item class="itemModel" prop="dutyTerritory">
<j-multi-select-tag class="box-input" v-model="formInline.dutyTerritory" <j-multi-select-tag class="box-input" v-model="formInline.dutyTerritory"
:disabled="true"
:placeholder="$t('PleaseSelect')+$t('areaOfResponsibility')" :placeholder="$t('PleaseSelect')+$t('areaOfResponsibility')"
:type="'select'" :type="'select'"
:triggerChange="false" :dictCode="'duty_territory'"/> :triggerChange="false" :dictCode="'duty_territory'"/>