平台件项目库新增弹框修改

This commit is contained in:
zyx.net
2023-10-09 14:09:45 +08:00
parent 3ad9f77b93
commit fecc568c3d
3 changed files with 614 additions and 171 deletions
+27
View File
@@ -1982,4 +1982,31 @@ module.exports = {
matchempty:'The match is empty',
onlyDataProcessStatusDeleted:'Data can only be deleted if the process status is task ready, approved, or rejected by the responsible person',
platformitemhasbeenassociated:'A platform item has been associated',
power:'power',
producer:'producer',
Nameplatelabel:'Nameplate label',
Batteryfilingrecord:'Battery filing record',
Modelinformation:'Model information',
Batterynationalcode:'Battery national code',
Recordnformation:'Record information',
Electriccellproductionenterprises:'Electric cell production enterprises',
Assemblymanufacturer:'Assembly manufacturer',
PartNumberCN:'Part Number (Domestic)',
PartNumberEU:'Part Number (Foreign)',
bitfilecode:'24-bit file code',
Vendorcode:'Vendor code',
Productclasscode:'Product class code',
Batterytypecode:'Battery type code',
Specificationcode:'Specification code',
Traceinformationcode:'Trace information code',
Productionyearmonthdateserialnumber:'Production year month date serial number',
dimension:'dimension(mm)',
Ratedcapacity:'Rated capacity(Ah)',
Nominalvoltage:'Nominal voltage(V)',
Ratedmass:'Rated mass(kg)',
Numbercontainedmodules:'Number of contained modules',
Moduleseriesparallelmode:'Module series parallel mode',
modulspecificationcodeused:'The module or monomer specification code used',
Coolingmode:'Cooling mode',
Filingcompletiontime:'Filing completion time',
}
+27
View File
@@ -3938,4 +3938,31 @@ module.exports = {
Processdetails:'流程详情',
matchempty:'匹配项为空',
platformitemhasbeenassociated:'已关联平台件项目',
power:'功率',
producer:'生产商',
Nameplatelabel:'铭牌标签',
Batteryfilingrecord:'电池备案记录',
Modelinformation:'型号信息',
Batterynationalcode:'电池国标码',
Recordnformation:'备案信息',
Electriccellproductionenterprises:'电芯生产企业',
Assemblymanufacturer:'总成生产企业',
PartNumberCN:'零件号国内',
PartNumberEU:'零件号国外',
bitfilecode:'24位备案码',
Vendorcode:'供应商代码',
Productclasscode:'产品类型代码',
Batterytypecode:'电池类型代码',
Specificationcode:'规格代码',
Traceinformationcode:'追溯信息代码',
Productionyearmonthdateserialnumber:'生产年月日序列号',
dimension:'尺寸(mm)',
Ratedcapacity:'额定容量(Ah)',
Nominalvoltage:'标称电压(V)',
Ratedmass:'额定质量(kg)',
Numbercontainedmodules:'包含模块个数',
Moduleseriesparallelmode:'模块串并联方式',
modulspecificationcodeused:'所用模块或单体规格代码',
Coolingmode:'冷却方式',
Filingcompletiontime:'备案完成时间',
}
@@ -11,16 +11,49 @@
style="height: 100%;overflow: auto;padding-bottom: 53px;">
<a-spin :spinning="confirmLoading">
<a-form-model :model="formInline" class="formAdd" :rules="rules" ref="ruleForm">
<!-- 项目基本信息-->
<div class="header-text">
{{$t('basicInformationOfParameters')}}
</div>
<a-row :gutter="24">
<a-col :span="12">
<div class="box-title-text">
<div class="title-text">
<span class="Required">*</span>
<span class="title-text-text" :title="$t('entryName')">{{$t('entryName')}}</span>
<span class="title-text-text" :title="$t('power')">{{$t('power')}}</span>
</div>
<a-form-model-item class="itemModel" prop="projectNameId">
<a-input class="box-input" :maxLength="200" :placeholder="$t('PleaseEnter')+$t('entryName')"
v-model="formInline.projectNameId"></a-input>
<a-form-model-item class="itemModel" prop="power">
<a-input class="box-input" :maxLength="200" :placeholder="$t('PleaseEnter')+$t('power')"
v-model="formInline.power"></a-input>
</a-form-model-item>
</div>
</a-col>
<a-col :span="12">
<div class="box-title-text">
<div class="title-text">
<span class="Required">*</span>
<span class="title-text-text" :title="$t('producer')">{{$t('producer')}}</span>
</div>
<a-form-model-item class="itemModel" prop="producer">
<a-input class="box-input" :maxLength="200" :placeholder="$t('PleaseEnter')+$t('producer')"
v-model="formInline.producer"></a-input>
</a-form-model-item>
</div>
</a-col>
</a-row>
<a-row :gutter="24">
<a-col :span="12">
<div class="box-title-text">
<div class="title-text">
<span class="Required">*</span>
<span class="title-text-text" :title="$t('targetMarket')">{{$t('targetMarket')}}</span>
</div>
<a-form-model-item class="itemModel-multi" prop="targetMarket">
<j-multi-select-tag class="box-input" v-model="formInline.targetMarket"
:disabled="disabled"
:placeholder="$t('PleaseSelect')+$t('targetMarket')"
:type="'select'"
:triggerChange="false" :dictCode="'region'"/>
</a-form-model-item>
</div>
</a-col>
@@ -45,25 +78,41 @@
<div class="box-title-text">
<div class="title-text">
<!-- <span class="Required">*</span>-->
<span class="title-text-text" :title="$t('configurationItem')">{{$t('configurationItem')}}</span>
<span class="title-text-text" :title="$t('projectStatus')">{{$t('projectStatus')}}</span>
</div>
<a-form-model-item class="itemModel" prop="ipdInfo">
<a-input class="box-input" :maxLength="200" :placeholder="$t('PleaseEnter')+$t('configurationItem')"
v-model="formInline.ipdInfo"></a-input>
<a-form-model-item class="itemModel-multi" prop="projectStatus">
<j-multi-select-tag class="box-input" v-model="formInline.projectStatus"
:disabled="disabled"
:placeholder="$t('PleaseSelect')+$t('projectStatus')"
:type="'select'"
:triggerChange="false" :dictCode="'project_status'"/>
</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('certificationProgram')">{{$t('certificationProgram')}}</span>
<span class="Required">*</span>
<span class="title-text-text" :title="$t('statisticalNodes')">{{$t('statisticalNodes')}}</span>
</div>
<a-form-model-item class="itemModel" prop="attestationPlan">
<a-input class="box-input"
:disabled="disabled"
:maxLength="200"
v-model="formInline.attestationPlan"
:placeholder="$t('PleaseEnter')+$t('certificationProgram')"/>
<a-form-model-item class="itemModel" prop="dutyTerritory">
<a-select :placeholder="$t('PleaseSelect')+$t('statisticalNodes')"
allowClear
show-search
mode="multiple"
class="box-input"
optionFilterProp="label"
:getPopupContainer="triggerNode=> triggerNode.parentNode"
v-model="formInline.dutyTerritory">
<a-select-option v-for="(item, key) in firstLevelDutyTerritoryList"
:key="key"
:label="item.key"
:value="item.key">
<span style="display: inline-block;width: 100%" :title=" item.key ">
{{ item.key }}
</span>
</a-select-option>
</a-select>
</a-form-model-item>
</div>
</a-col>
@@ -72,19 +121,80 @@
<a-col :span="12">
<div class="box-title-text">
<div class="title-text">
<span class="title-text-text"
:title="$t('dehicleDevelopmentPlan')">{{$t('dehicleDevelopmentPlan')}}</span>
<!-- <span class="Required">*</span>-->
<span class="title-text-text" :title="$t('regulatoryEngineer')">{{$t('regulatoryEngineer')}}</span>
</div>
<a-form-model-item class="itemModel" :prop="'vehicleDevelopmentPlan'">
<a-input class="box-input"
:disabled="disabled"
:maxLength="200"
v-model="formInline.vehicleDevelopmentPlan"
:placeholder="$t('PleaseEnter')+$t('dehicleDevelopmentPlan')"/>
<a-form-model-item class="itemModel" :prop="'regulationOwnerIdName'">
<PersonnelSelection :query="{db_field_name:'regulationOwnerId',db_field_txt:$t('regulatoryEngineer')}"
:isSingleChoice="true"
:personneQuery="formInline"
@change="PersonnelSelectionChange"
v-model="formInline.regulationOwnerIdName"/>
</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('engineeringInterfacePerson')">{{$t('engineeringInterfacePerson')}}</span>
</div>
<a-form-model-item class="itemModel" prop="designDutyIdName">
<PersonnelSelection :query="{db_field_name:'designDutyId',db_field_txt:$t('regulatoryEngineer')}"
:isSingleChoice="true"
:personneQuery="formInline"
@change="PersonnelSelectionChange"
v-model="formInline.designDutyIdName"/>
</a-form-model-item>
</div>
</a-col>
</a-row>
<a-row :gutter="24">
<a-col :span="24">
<div class="box-title-text">
<div class="title-text">
<span class="title-text-text" :title="$t('Nameplatelabel')">{{$t('Nameplatelabel')}}</span>
</div>
<a-form-model-item class="itemModelimg" prop="explanation">
<div>
<a-upload
:action="uploadAction+'?cut='+cut"
list-type="picture-card"
:file-list="fileList"
@preview="handlePreview"
@change="handleChange"
>
<div v-if="fileList.length < 20">
<a-icon type="plus" />
<div class="ant-upload-text">
<!-- Upload-->
</div>
</div>
</a-upload>
<a-modal :visible="previewVisible" :footer="null" @cancel="handleCancelimg">
<img alt="example" style="width: 100%" :src="previewImage" />
</a-modal>
</div>
</a-form-model-item>
</div>
</a-col>
</a-row>
<a-row :gutter="24">
<!-- <a-col :span="12">-->
<!-- <div class="box-title-text">-->
<!-- <div class="title-text">-->
<!-- <span class="title-text-text"-->
<!-- :title="$t('dehicleDevelopmentPlan')">{{$t('dehicleDevelopmentPlan')}}</span>-->
<!-- </div>-->
<!-- <a-form-model-item class="itemModel" :prop="'vehicleDevelopmentPlan'">-->
<!-- <a-input class="box-input"-->
<!-- :disabled="disabled"-->
<!-- :maxLength="200"-->
<!-- v-model="formInline.vehicleDevelopmentPlan"-->
<!-- :placeholder="$t('PleaseEnter')+$t('dehicleDevelopmentPlan')"/>-->
<!-- </a-form-model-item>-->
<!-- </div>-->
<!-- </a-col>-->
<a-col :span="24">
<div class="box-title-text">
<div class="title-text">
<span class="title-text-text" :title="$t('explain')">{{$t('explain')}}</span>
@@ -93,151 +203,306 @@
<a-textarea :placeholder="$t('pleaseEnter')+$t('explain')"
v-model="formInline.explanation"
:maxLength="500"
:rows="2"/>
:rows="4"/>
</a-form-model-item>
</div>
</a-col>
</a-row>
<!-- 电池备案记录-->
<div class="header-text">
{{$t('Batteryfilingrecord')}}
</div>
<!-- 型号信息-->
<div class='header-title'>
<span class='header-title-text'>{{$t('Modelinformation')}}</span>
</div>
<a-row :gutter="24">
<a-col :span="12">
<div class="box-title-text">
<div class="title-text">
<span class="title-text-text" :title="$t('productModel')">{{$t('productModel')}}</span>
</div>
<a-form-model-item class="itemModel" prop="productModel">
<a-input class="box-input" :maxLength="200" :placeholder="$t('PleaseEnter')+$t('productModel')"
v-model="formInline.productModel"></a-input>
</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('Electriccellproductionenterprises')">{{$t('Electriccellproductionenterprises')}}</span>
</div>
<a-form-model-item class="itemModel" prop="Electriccellproductionenterprises">
<a-input class="box-input" :maxLength="200" :placeholder="$t('PleaseEnter')+$t('Electriccellproductionenterprises')"
v-model="formInline.Electriccellproductionenterprises"></a-input>
</a-form-model-item>
</div>
</a-col>
</a-row>
<a-row :gutter="24">
<a-col :span="12">
<div class="box-title-text">
<div class="title-text">
<span class="title-text-text" :title="$t('Assemblymanufacturer')">{{$t('Assemblymanufacturer')}}</span>
</div>
<a-form-model-item class="itemModel-multi" prop="Assemblymanufacturer">
<a-input class="box-input" :maxLength="200" :placeholder="$t('PleaseEnter')+$t('Assemblymanufacturer')"
v-model="formInline.Assemblymanufacturer"></a-input>
</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('PartNumberCN')">{{$t('PartNumberCN')}}</span>
</div>
<a-form-model-item class="itemModel" prop="PartNumberCN">
<a-input class="box-input" :maxLength="200" :placeholder="$t('PleaseEnter')+$t('PartNumberCN')"
v-model="formInline.PartNumberCN"></a-input>
</a-form-model-item>
</div>
</a-col>
</a-row>
<a-row :gutter="24">
<a-col :span="12">
<div class="box-title-text">
<div class="title-text">
<span class="title-text-text" :title="$t('PartNumberEU')">{{$t('PartNumberEU')}}</span>
</div>
<a-form-model-item class="itemModel-multi" prop="PartNumberEU">
<a-input class="box-input" :maxLength="200" :placeholder="$t('PleaseEnter')+$t('PartNumberEU')"
v-model="formInline.PartNumberEU"></a-input>
</a-form-model-item>
</div>
</a-col>
</a-row>
<!-- 电池国标码-->
<div class='header-title'>
<span class='header-title-text'>{{$t('Batterynationalcode')}}</span>
</div>
<a-row :gutter="24">
<a-col :span="12">
<div class="box-title-text">
<div class="title-text">
<span class="title-text-text" :title="$t('bitfilecode')">{{$t('bitfilecode')}}</span>
</div>
<a-form-model-item class="itemModel" prop="bitfilecode">
<a-input class="box-input" :maxLength="200" :placeholder="$t('PleaseEnter')+$t('bitfilecode')"
v-model="formInline.bitfilecode"></a-input>
</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('Vendorcode') + '(13)'">{{$t('Vendorcode') + '(13)'}}</span>
</div>
<a-form-model-item class="itemModel" prop="endorcode">
<a-input class="box-input" :maxLength="200" :placeholder="$t('PleaseEnter')+$t('Vendorcode') + '(13)'"
v-model="formInline.endorcode"></a-input>
</a-form-model-item>
</div>
</a-col>
</a-row>
<a-row :gutter="24">
<a-col :span="12">
<div class="box-title-text">
<div class="title-text">
<span class="title-text-text" :title="$t('Productclasscode') + '(4)'">{{$t('Productclasscode') + '(4)'}}</span>
</div>
<a-form-model-item class="itemModel" prop="Productclasscode">
<a-input class="box-input" :maxLength="200" :placeholder="$t('PleaseEnter')+$t('Productclasscode') + '(4)'"
v-model="formInline.Productclasscode"></a-input>
</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('Batterytypecode') + '(5)'">{{$t('Batterytypecode') + '(5)'}}</span>
</div>
<a-form-model-item class="itemModel" prop="Batterytypecode">
<a-input class="box-input" :maxLength="200" :placeholder="$t('PleaseEnter')+$t('Batterytypecode') + '(5)'"
v-model="formInline.Batterytypecode"></a-input>
</a-form-model-item>
</div>
</a-col>
</a-row>
<a-row :gutter="24">
<a-col :span="12">
<div class="box-title-text">
<div class="title-text">
<span class="title-text-text" :title="$t('Specificationcode') + '(67)'">{{$t('Specificationcode') + '(67)'}}</span>
</div>
<a-form-model-item class="itemModel-multi" prop="Specificationcode">
<a-input class="box-input" :maxLength="200" :placeholder="$t('PleaseEnter')+$t('Specificationcode') + '(67)'"
v-model="formInline.Specificationcode"></a-input>
</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('Traceinformationcode') + '(814)'">{{$t('Traceinformationcode') + '(814)'}}</span>
</div>
<a-form-model-item class="itemModel-multi" prop="Traceinformationcode">
<a-input class="box-input" :maxLength="200" :placeholder="$t('PleaseEnter')+$t('Traceinformationcode') + '(814)'"
v-model="formInline.Traceinformationcode"></a-input>
</a-form-model-item>
</div>
</a-col>
</a-row>
<a-row :gutter="24">
<a-col :span="12">
<div class="box-title-text">
<div class="title-text">
<span class="title-text-text" :title="$t('Productionyearmonthdateserialnumber') + '(1520)'">{{$t('Productionyearmonthdateserialnumber') + '(1520)'}}</span>
</div>
<a-form-model-item class="itemModel-multi" prop="Productionyearmonthdateserialnumber">
<a-input class="box-input" :maxLength="200" :placeholder="$t('PleaseEnter')+$t('Productionyearmonthdateserialnumber') + '(1520)'"
v-model="formInline.Productionyearmonthdateserialnumber"></a-input>
</a-form-model-item>
</div>
</a-col>
</a-row>
<!-- 备案信息-->
<div class='header-title'>
<span class='header-title-text'>{{$t('Recordnformation')}}</span>
</div>
<a-row :gutter="24">
<a-col :span="12">
<div class="box-title-text">
<div class="title-text">
<span class="title-text-text" :title="$t('dimension')">{{$t('dimension')}}</span>
</div>
<a-form-model-item class="itemModel" prop="dimension">
<a-input class="box-input" :maxLength="200" :placeholder="$t('PleaseEnter')+$t('dimension')"
v-model="formInline.dimension"></a-input>
</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('Ratedcapacity')">{{$t('Ratedcapacity')}}</span>
</div>
<a-form-model-item class="itemModel" prop="Ratedcapacity">
<a-input class="box-input" :maxLength="200" :placeholder="$t('PleaseEnter')+$t('Ratedcapacity')"
v-model="formInline.Ratedcapacity"></a-input>
</a-form-model-item>
</div>
</a-col>
</a-row>
<a-row :gutter="24">
<a-col :span="12">
<div class="box-title-text">
<div class="title-text">
<span class="title-text-text" :title="$t('Nominalvoltage')">{{$t('Nominalvoltage')}}</span>
</div>
<a-form-model-item class="itemModel" prop="Nominalvoltage">
<a-input class="box-input" :maxLength="200" :placeholder="$t('PleaseEnter')+$t('Nominalvoltage')"
v-model="formInline.Nominalvoltage"></a-input>
</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('Ratedmass')">{{$t('Ratedmass')}}</span>
</div>
<a-form-model-item class="itemModel" prop="Ratedmass">
<a-input class="box-input" :maxLength="200" :placeholder="$t('PleaseEnter')+$t('Ratedmass')"
v-model="formInline.Ratedmass"></a-input>
</a-form-model-item>
</div>
</a-col>
</a-row>
<a-row :gutter="24">
<a-col :span="12">
<div class="box-title-text">
<div class="title-text">
<span class="title-text-text" :title="$t('Numbercontainedmodules')">{{$t('Numbercontainedmodules')}}</span>
</div>
<a-form-model-item class="itemModel" prop="Numbercontainedmodules">
<a-input class="box-input" :maxLength="200" :placeholder="$t('PleaseEnter')+$t('Numbercontainedmodules')"
v-model="formInline.Numbercontainedmodules"></a-input>
</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('Moduleseriesparallelmode')">{{$t('Moduleseriesparallelmode')}}</span>
</div>
<a-form-model-item class="itemModel" prop="Moduleseriesparallelmode">
<a-input class="box-input" :maxLength="200" :placeholder="$t('PleaseEnter')+$t('Moduleseriesparallelmode')"
v-model="formInline.Moduleseriesparallelmode"></a-input>
</a-form-model-item>
</div>
</a-col>
</a-row>
<a-row :gutter="24">
<a-col :span="12">
<div class="box-title-text">
<div class="title-text">
<span class="title-text-text" :title="$t('modulspecificationcodeused')">{{$t('modulspecificationcodeused')}}</span>
</div>
<a-form-model-item class="itemModel" prop="modulspecificationcodeused">
<a-input class="box-input" :maxLength="200" :placeholder="$t('PleaseEnter')+$t('modulspecificationcodeused')"
v-model="formInline.modulspecificationcodeused"></a-input>
</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('Coolingmode')">{{$t('Coolingmode')}}</span>
</div>
<a-form-model-item class="itemModel" prop="dimension">
<a-input class="box-input" :maxLength="200" :placeholder="$t('PleaseEnter')+$t('Coolingmode')"
v-model="formInline.Coolingmode"></a-input>
</a-form-model-item>
</div>
</a-col>
</a-row>
<!-- 备注-->
<div class='header-title'>
<span class='header-title-text'>{{$t('remarks')}}</span>
</div>
<a-row :gutter="24">
<a-col :span="24">
<div class="box-title-text">
<div class="title-text">
<span class="title-text-text" :title="$t('Filingcompletiontime')">{{$t('Filingcompletiontime')}}</span>
</div>
<a-form-model-item class="itemModel" prop="designDueDate">
<a-date-picker class="box-input"
:placeholder="$t('PleaseSelect')+$t('Filingcompletiontime')"
@change="dateChange({db_field_name:'designDueDate'})"
format="YYYY-MM-DD"
:getCalendarContainer="(trigger) => trigger.parentNode"
v-model="formInline.designDueDate"
style="width: 100%"/>
</a-form-model-item>
</div>
</a-col>
</a-row>
<a-row :gutter="24">
<a-col :span="24">
<div class="box-title-text">
<div class="title-text">
<span class="title-text-text" :title="$t('remarks')">{{$t('remarks')}}</span>
</div>
<a-form-model-item class="itemModel" prop="remarks">
<a-textarea
:placeholder="$t('remarks')"
:maxLength="500"
v-model="formInline.remark" :rows="4"/>
</a-form-model-item>
</div>
</a-col>
</a-row>
<!-- <a-row :gutter="24">-->
<!-- <a-col :span="12">-->
<!-- <div class="box-title-text">-->
<!-- <div class="title-text">-->
<!-- <span class="Required">*</span>-->
<!-- <span class="title-text-text" :title="$t('projectStatus')">{{$t('projectStatus')}}</span>-->
<!-- </div>-->
<!-- <a-form-model-item class="itemModel" prop="projectStatus">-->
<!-- <j-dict-select-tag class="box-input" v-model="formInline.projectStatus"-->
<!-- :disabled="disabled"-->
<!-- @input="handleInput('projectStatus')"-->
<!-- :placeholder="$t('PleaseSelect')+$t('projectStatus')"-->
<!-- :type="'select'"-->
<!-- :triggerChange="false" :dictCode="'project_status'"/>-->
<!-- </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('brand')">{{$t('brand')}}</span>-->
<!-- </div>-->
<!-- <a-form-model-item class="itemModel" :prop="'brand'">-->
<!-- <j-dict-select-tag v-model="formInline.brand"-->
<!-- :placeholder="$t('PleaseSelect')+$t('brand')"-->
<!-- :type="'select'"-->
<!-- :triggerChange="false" :dictCode="'brand'"/>-->
<!-- </a-form-model-item>-->
<!-- </div>-->
<!-- </a-col>-->
<!-- </a-row>-->
<!-- <a-row :gutter="24">-->
<!-- <a-col :span="12">-->
<!-- <div class="box-title-text">-->
<!-- <div class="title-text">-->
<!-- <span class="Required">*</span>-->
<!-- <span class="title-text-text" :title="$t('StudioEngineer')">{{$t('StudioEngineer')}}</span>-->
<!-- </div>-->
<!-- <a-form-model-item class="itemModel-multi" :prop="'studioEngineerName'">-->
<!-- <PersonnelSelection :query="{db_field_name:'studioEngineer',db_field_txt:$t('StudioEngineer')}"-->
<!-- :isSingleChoice="true"-->
<!-- :personneQuery="formInline"-->
<!-- v-if="visible"-->
<!-- @change="PersonnelSelectionChange"-->
<!-- :disabled="disabled"-->
<!-- v-model="formInline.studioEngineerName"/>-->
<!-- </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('certifiedEngineer')">{{$t('certifiedEngineer')}}</span>-->
<!-- </div>-->
<!-- <a-form-model-item class="itemModel-multi" :prop="'certificationEngineerName'">-->
<!-- <PersonnelSelection-->
<!-- :query="{db_field_name:'certificationEngineer',db_field_txt:$t('certifiedEngineer')}"-->
<!-- :personneQuery="formInline"-->
<!-- v-if="visible"-->
<!-- @change="PersonnelSelectionChange"-->
<!-- :disabled="disabled"-->
<!-- v-model="formInline.certificationEngineerName"/>-->
<!-- </a-form-model-item>-->
<!-- </div>-->
<!-- </a-col>-->
<!-- </a-row>-->
<!-- <a-row :gutter="24">-->
<!-- <a-col :span="12">-->
<!-- <div class="box-title-text">-->
<!-- <div class="title-text">-->
<!-- <span class="title-text-text" :title="$t('DigitalPlatform')">{{$t('DigitalPlatform')}}</span>-->
<!-- </div>-->
<!-- <a-form-model-item class="itemModel" :prop="'digitalPlatform'">-->
<!-- <a-input class="box-input"-->
<!-- :disabled="disabled"-->
<!-- v-model="formInline.digitalPlatform"-->
<!-- :placeholder="$t('PleaseEnter')+$t('DigitalPlatform')"/>-->
<!-- </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('ModelPlatform')">{{$t('ModelPlatform')}}</span>-->
<!-- </div>-->
<!-- <a-form-model-item class="itemModel" prop="vehiclePlatform">-->
<!-- <a-input class="box-input"-->
<!-- :disabled="disabled"-->
<!-- v-model="formInline.vehiclePlatform"-->
<!-- :placeholder="$t('PleaseEnter')+$t('ModelPlatform')"/>-->
<!-- </a-form-model-item>-->
<!-- </div>-->
<!-- </a-col>-->
<!-- </a-row>-->
<!-- <a-row :gutter="24">-->
<!-- <a-col :span="12">-->
<!-- <div class="box-title-text">-->
<!-- <div class="title-text">-->
<!-- <span class="title-text-text" :title="$t('certificationProgram')">{{$t('certificationProgram')}}</span>-->
<!-- </div>-->
<!-- <a-form-model-item class="itemModel" prop="attestationPlan">-->
<!-- <a-input class="box-input"-->
<!-- :disabled="disabled"-->
<!-- v-model="formInline.attestationPlan"-->
<!-- :placeholder="$t('PleaseEnter')+$t('certificationProgram')"/>-->
<!-- </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('configurationInformation')">{{$t('configurationInformation')}}</span>-->
<!-- </div>-->
<!-- <a-form-model-item class="itemModel" prop="ipdInfo">-->
<!-- <a-input class="box-input"-->
<!-- :disabled="disabled"-->
<!-- v-model="formInline.ipdInfo"-->
<!-- :placeholder="$t('PleaseEnter')+$t('configurationInformation')"/>-->
<!-- </a-form-model-item>-->
<!-- </div>-->
<!-- &lt;!&ndash; ^(ht|f)tp(s?)\:\/\/[0-9a-zA-Z]([-.\w]*[0-9a-zA-Z])*(:(0-9)*)*(\/?)([a-zA-Z0-9\-\.\?\,\'\/\\\+&amp;%\$#_]*)?$-->
<!-- &ndash;&gt;-->
<!-- </a-col>-->
<!-- </a-row>-->
<!-- <a-row :gutter="24">-->
<!-- <a-col :span="24">-->
<!-- <div class="box-title-text">-->
<!-- <div class="title-text">-->
<!-- <span class="title-text-text" :title="$t('explain')">{{$t('explain')}}</span>-->
<!-- </div>-->
<!-- <a-form-model-item class="itemModel" prop="explanation">-->
<!-- <a-textarea :placeholder="$t('pleaseEnter')+$t('explain')"-->
<!-- v-model="formInline.explanation"-->
<!-- :rows="4"/>-->
<!-- </a-form-model-item>-->
<!-- </div>-->
<!-- </a-col>-->
<!-- </a-row>-->
</a-form-model>
</a-spin>
<div class="drawer-bootom-button">
@@ -251,6 +516,16 @@
import PersonnelSelection from '@/components/PersonnelSelection/index'
import { getAction, postAction, downloadFile, putAction } from '@/api/manage'
import { mapGetters } from 'vuex'
import moment from 'moment'
function getBase64(file) {
return new Promise((resolve, reject) => {
const reader = new FileReader()
reader.readAsDataURL(file)
reader.onload = () => resolve(reader.result)
reader.onerror = (error) => reject(error)
})
}
export default {
name: 'addModel',
@@ -324,6 +599,30 @@
trigger: 'blur'
}
],
power:[
{
required: true,
message: this.$t('power') + this.$t('cannotEmpty'),
trigger: 'blur'
},
{
max: 200,
message: this.$t('DigitalPlatform') + this.$t('cannotExceed') + 200 + this.$t('Characters'),
trigger: 'blur'
}
],
producer:[
{
required: true,
message: this.$t('producer') + this.$t('cannotEmpty'),
trigger: 'blur'
},
{
max: 200,
message: this.$t('DigitalPlatform') + this.$t('cannotExceed') + 200 + this.$t('Characters'),
trigger: 'blur'
}
],
digitalPlatform: [
{
max: 200,
@@ -345,6 +644,13 @@
trigger: 'change'
}
],
targetMarket: [
{
required: true,
message: this.$t('targetMarket') + this.$t('cannotEmpty'),
trigger: 'change'
}
],
brand: [
{
required: true,
@@ -371,24 +677,82 @@
trigger: 'change'
}
],
certificationEngineerName: [
dutyTerritory: [
{
max: 100,
message: this.$t('certifiedEngineer') + this.$t('cannotExceed') + 100 + this.$t('Characters'),
required: true,
message: this.$t('statisticalNodes') + this.$t('cannotEmpty'),
trigger: 'change'
}
]
],
regulationOwnerIdName: [
{
required: true,
message: this.$t('regulatoryEngineer') + this.$t('cannotEmpty'),
trigger: 'change'
}
],
designDutyIdName: [
{
required: true,
message: this.$t('engineeringInterfacePerson') + this.$t('cannotEmpty'),
trigger: 'change'
}
],
},
disabled: false,
previewVisible: false,
previewImage: '',
cut: '',
fileList: [],
projectNameList: [],
title: ''
firstLevelDutyTerritoryList:[],
title: '',
uploadAction: window._CONFIG['domianURL'] + '/sys/common/upload',
state: undefined,
myuploadAction: window._CONFIG['domianURL'] + this.thisFileUploadUrl,
upDataList: [],
downLoadFileUrl: window._CONFIG['domianPreviewURL'] + '/sys/common/download',
downLoadImgUrl: window._CONFIG['domianWebImgURL'] + '/sys/common/download',
}
},
mounted() {
this.getNameList()
let long = localStorage.getItem('language')
this.cut = ''
if (long && long == 'zh-cn') {
this.cut = 'cn'
} else if (long && long == 'en-us') {
this.cut = 'en'
}
},
methods: {
...mapGetters(['userInfo']),
handleCancelimg() {
this.previewVisible = false;
},
async handlePreview(file) {
if (!file.url && !file.preview) {
file.preview = await getBase64(file.originFileObj);
}
this.previewImage = file.url || file.preview;
this.previewVisible = true;
},
handleChange({ fileList }) {
this.fileList = fileList;
console.log(this.fileList)
},
getFirstLevelDutyTerritory() {
getAction('/sys/dictItem/getFirstLevelDutyTerritory', {}).then((res) => {
if (res.success) {
this.firstLevelDutyTerritoryList = res.result
} else {
this.firstLevelDutyTerritoryList = []
}
})
},
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') : ''
},
getNameList(value) {
getAction('project/projectNameInfoEO/list', {}).then((res) => {
if (res.success) {
@@ -411,8 +775,9 @@
this.title = this.$t('add')
this.formInline = {}
this.getNameList()
this.formInline.studioEngineerName = this.userInfo().username
this.formInline.studioEngineer = this.userInfo().id
this.getFirstLevelDutyTerritory()
this.formInline.regulationOwnerIdName = this.userInfo().username
this.formInline.regulationOwnerId = this.userInfo().id
this.formInline.projectVersion = '00'
this.formInline = { ...this.formInline }
this.$nextTick(() => {
@@ -582,7 +947,31 @@
height: 40px;
margin-bottom: 24px;
}
.itemModelimg {
width: calc(100% - 130px);
display: inline-block;
margin-top: 2px;
margin-bottom: 24px;
}
.header-text {
font-size: 16px;
color: #000000;
font-weight: bold;
}
.header-title-text{
font-size: 16px;
color: #000000;
line-height: 50px;
margin: 0 19px;
}
.header-title{
background: #F5F6F7;
width: 100%;
height: 50px;
margin-top: 10px;
margin-bottom: 10px;
}
.Required {
color: red;
margin-right: 4px;