<template>
|
<j-modal
|
:title='title'
|
:width='width'
|
:visible='visible'
|
:confirmLoading='confirmLoading'
|
switchFullscreen
|
@ok='handleOk'
|
@cancel='handleCancel'
|
cancelText='关闭'
|
>
|
<a-spin :spinning='confirmLoading'>
|
<a-form-model
|
ref='form'
|
:model='model'
|
:rules='validatorRules'
|
>
|
<a-row>
|
<a-divider
|
orientation='center'
|
style='font-size: large;font-style: italic;color: #66aeed;'
|
> 设备基础信息
|
</a-divider>
|
<a-col :span='6'>
|
<a-form-model-item
|
label='设备所属分类'
|
:labelCol='labelCol'
|
:wrapperCol='wrapperCol'
|
prop='equipmentCategoryId'
|
>
|
<j-dict-select-tag
|
allow-clear
|
placeholder='请选择设备所属分类'
|
:disabled='formDisabled'
|
:triggerChange='true'
|
:dictCode="caytegoryParam==='all'?'mom_eam_equipment_category,name,id,del_flag!=\'1\'':'mom_eam_equipment_category,name,id,equipment_category_uda1 = '+'\''+caytegoryParam+'\''"
|
v-model='model.equipmentCategoryId'
|
@change='categoryChange'
|
/>
|
</a-form-model-item>
|
</a-col>
|
<a-col :span='6'>
|
<a-form-model-item
|
label='统一编码'
|
:labelCol='labelCol'
|
:wrapperCol='wrapperCol'
|
prop='num'
|
>
|
<a-input
|
v-model='model.num'
|
placeholder='请输入统一 编号'
|
:disabled='formDisabled'
|
></a-input>
|
</a-form-model-item>
|
</a-col>
|
<a-col :span='6'>
|
<a-form-model-item
|
label='设备名称'
|
:labelCol='labelCol'
|
:wrapperCol='wrapperCol'
|
prop='name'
|
>
|
<a-input
|
v-model='model.name'
|
placeholder='请输入设备名称'
|
:disabled='formDisabled'
|
></a-input>
|
</a-form-model-item>
|
</a-col>
|
<a-col :span='6'>
|
<a-form-model-item
|
label='型号'
|
:labelCol='labelCol'
|
:wrapperCol='wrapperCol'
|
prop='model'
|
>
|
<a-input
|
v-model='model.model'
|
placeholder='请输入型号'
|
:disabled='formDisabled'
|
></a-input>
|
</a-form-model-item>
|
</a-col>
|
</a-row>
|
<a-row>
|
<a-col :span='6'>
|
<a-form-model-item
|
label='规格'
|
:labelCol='labelCol'
|
:wrapperCol='wrapperCol'
|
prop='specification'
|
>
|
<a-input
|
v-model='model.specification'
|
placeholder='请输入规格'
|
:disabled='formDisabled'
|
></a-input>
|
</a-form-model-item>
|
</a-col>
|
<a-col :span='6'>
|
<a-form-model-item
|
label='总功率'
|
:labelCol='labelCol'
|
:wrapperCol='wrapperCol'
|
prop='gpo'
|
>
|
<a-input
|
v-model='model.gpo'
|
placeholder='请输入总功率'
|
:disabled='formDisabled'
|
></a-input>
|
</a-form-model-item>
|
</a-col>
|
<a-col :span='6'>
|
<a-form-model-item
|
label='使用部门'
|
:labelCol='labelCol'
|
:wrapperCol='wrapperCol'
|
prop='useId'
|
>
|
|
<j-dict-select-tag
|
allow-clear
|
:disabled='formDisabled'
|
placeholder='请选择使用部门'
|
:triggerChange='true'
|
dictCode="sys_depart,depart_name,id,del_flag!='1'"
|
v-model='model.useId'
|
/>
|
</a-form-model-item>
|
</a-col>
|
</a-row>
|
<a-row>
|
<a-col :span='6'>
|
<a-form-model-item
|
label='是否生产线'
|
:labelCol='labelCol'
|
:wrapperCol='wrapperCol'
|
prop='isLine'
|
>
|
<!-- type='radio'-->
|
<j-dict-select-tag
|
allow-clear
|
type='radio'
|
placeholder='请选择'
|
:triggerChange='true'
|
dictCode='is_product'
|
v-model='model.isLine'
|
@change='isLineChange'
|
/>
|
</a-form-model-item>
|
</a-col>
|
<a-col
|
:span='6'
|
v-show='isLineEquipShow'
|
>
|
<a-form-model-item
|
label='是否生产线主设备'
|
:labelCol='labelCol'
|
:wrapperCol='wrapperCol'
|
prop='isLineEquip'
|
>
|
<!-- type='radio'-->
|
<j-dict-select-tag
|
allow-clear
|
type='radio'
|
placeholder='请选择'
|
:triggerChange='true'
|
dictCode='is_product'
|
v-model='model.isLineEquip'
|
/>
|
</a-form-model-item>
|
</a-col>
|
|
<a-col :span='6'>
|
<a-form-model-item
|
label='设备图片'
|
:labelCol='labelCol'
|
:wrapperCol='wrapperCol'
|
prop='equipmentPhoto'
|
>
|
<j-image-upload
|
:isMultiple='false'
|
v-model='model.equipmentPhoto'
|
></j-image-upload>
|
</a-form-model-item>
|
</a-col>
|
</a-row>
|
<a-row>
|
<!-- 中心 -->
|
<a-col :span='6'>
|
<a-form-model-item
|
label='所属中心'
|
:labelCol='labelCol'
|
:wrapperCol='wrapperCol'
|
prop='workCenterId'
|
>
|
<j-dict-select-tag
|
allow-clear
|
:disabled='formDisabled'
|
placeholder='请选择所属中心'
|
:triggerChange='true'
|
@change='workCenterChange'
|
dictCode="mom_base_area,name,id,del_flag!='1' and type='1'"
|
v-model='model.workCenterId'
|
/>
|
</a-form-model-item>
|
</a-col>
|
<a-col :span='6'>
|
<a-form-model-item
|
label='工区'
|
:labelCol='labelCol'
|
:wrapperCol='wrapperCol'
|
prop='factoryModelId'
|
>
|
<j-dict-select-tag
|
allow-clear
|
:disabled='formDisabled'
|
placeholder='请选择工区'
|
:triggerChange='true'
|
@change='factoryModelChange'
|
:dictCode="'mom_base_area,name,id,del_flag!=\'1\' and type=\'2\' and parent_id = ' +'\''+ model.workCenterId+'\''"
|
v-model='model.factoryModelId'
|
/>
|
</a-form-model-item>
|
</a-col>
|
<!-- 工段 -->
|
<a-col :span='6'>
|
<a-form-model-item
|
label='工段'
|
:labelCol='labelCol'
|
:wrapperCol='wrapperCol'
|
prop='areaId'
|
>
|
<j-dict-select-tag
|
allow-clear
|
:disabled='formDisabled'
|
placeholder='请选择工段'
|
:triggerChange='true'
|
:dictCode="'mom_base_area,name,id,del_flag!=\'1\' and type=\'3\' and parent_id = '+'\''+model.factoryModelId+'\''"
|
v-model='model.areaId'
|
/>
|
</a-form-model-item>
|
</a-col>
|
</a-row>
|
<a-row>
|
<a-divider
|
orientation='center'
|
style='font-size: large;font-style: italic;color: #f20707;'
|
>维护及使用信息
|
</a-divider>
|
<a-col :span='6'>
|
<a-form-model-item
|
label='维护部门'
|
:labelCol='labelCol'
|
:wrapperCol='wrapperCol'
|
prop='manageId'
|
>
|
<!-- <a-tree-select
|
:disabled="formDisabled"
|
style="width: 100%"
|
:dropdown-style="{ maxHeight: '400px', overflow: 'auto' }"
|
:tree-data="treeData"
|
placeholder="请选择维护部门"
|
tree-default-expand-all
|
v-model="model.manageId"
|
/> -->
|
<j-dict-select-tag
|
allow-clear
|
:disabled='formDisabled'
|
placeholder='请选择维护部门'
|
:triggerChange='true'
|
dictCode="sys_depart,depart_name,id,del_flag!='1'"
|
v-model='model.manageId'
|
/>
|
</a-form-model-item>
|
</a-col>
|
<a-col :span='6'>
|
<a-form-model-item
|
label='维修班组'
|
:labelCol='labelCol'
|
:wrapperCol='wrapperCol'
|
prop='teamId'
|
>
|
<j-dict-select-tag
|
allow-clear
|
:disabled='formDisabled'
|
placeholder='请选择责任班组'
|
:triggerChange='true'
|
dictCode="mom_base_team,name,id,status='1' and del_flag='0'"
|
v-model='model.teamId'
|
/>
|
</a-form-model-item>
|
</a-col>
|
<a-col :span='6'>
|
<a-form-model-item
|
label='ABC标识'
|
:labelCol='labelCol'
|
:wrapperCol='wrapperCol'
|
prop='equipmentImportanceId'
|
>
|
<j-dict-select-tag
|
allow-clear
|
:disabled='formDisabled'
|
placeholder='请选择ABC标识'
|
:triggerChange='true'
|
dictCode='ABC-standard-result'
|
@change='changeNeedSpecific'
|
v-model='model.equipmentImportanceId'
|
/>
|
</a-form-model-item>
|
</a-col>
|
<a-col
|
:span='6'
|
v-if='needSpecific'
|
>
|
<a-form-model-item
|
label='关键设备标识'
|
:labelCol='labelCol'
|
:wrapperCol='wrapperCol'
|
prop='specificEquipment'
|
>
|
<j-dict-select-tag
|
allow-clear
|
placeholder='请选择关键设备标识'
|
:disabled='formDisabled'
|
:triggerChange='true'
|
dictCode='specific_equipment'
|
v-model='model.specificEquipment'
|
/>
|
</a-form-model-item>
|
</a-col>
|
</a-row>
|
<a-row>
|
<a-col :span='6'>
|
<a-form-model-item
|
label='安全配置'
|
:labelCol='labelCol'
|
:wrapperCol='wrapperCol'
|
prop='securityConfiguration'
|
>
|
<a-input
|
v-model='model.securityConfiguration'
|
:disabled='formDisabled'
|
placeholder='请输入安全配置'
|
></a-input>
|
</a-form-model-item>
|
</a-col>
|
<a-col :span='6'>
|
<a-form-model-item
|
label='冷却系统'
|
:labelCol='labelCol'
|
:wrapperCol='wrapperCol'
|
prop='coolingSystem'
|
>
|
<j-dict-select-tag
|
allow-clear
|
v-model='model.coolingSystem'
|
:disabled='formDisabled'
|
placeholder='请输入冷却系统'
|
:triggerChange='true'
|
dictCode='cooling_system'
|
/>
|
</a-form-model-item>
|
</a-col>
|
<a-col :span='6'>
|
<a-form-model-item
|
label='灭火器'
|
:labelCol='labelCol'
|
:wrapperCol='wrapperCol'
|
prop='fireExtinguisher'
|
>
|
<a-input
|
v-model='model.fireExtinguisher'
|
:disabled='formDisabled'
|
placeholder='请输入灭火器'
|
></a-input>
|
</a-form-model-item>
|
</a-col>
|
<a-col :span='6'>
|
<a-form-model-item
|
label='灭火器有效期'
|
:labelCol='labelCol'
|
:wrapperCol='wrapperCol'
|
prop='fireExtinguisherValidityPeriod'
|
>
|
<a-input
|
v-model='model.fireExtinguisherValidityPeriod'
|
:disabled='formDisabled'
|
placeholder='请输入灭火器有效期'
|
></a-input>
|
</a-form-model-item>
|
</a-col>
|
</a-row>
|
<a-row>
|
<a-col :span='6'>
|
<a-form-model-item
|
label='是否有操作系统'
|
:labelCol='labelCol'
|
:wrapperCol='wrapperCol'
|
prop='operatingSystem'
|
>
|
<j-dict-select-tag
|
allow-clear
|
placeholder='是否有操作系统'
|
:disabled='formDisabled'
|
:triggerChange='true'
|
dictCode='operation_flag'
|
v-model='model.operatingSystem'
|
/>
|
</a-form-model-item>
|
</a-col>
|
<a-col
|
:span='6'
|
v-if="model.operatingSystem=='yes'"
|
>
|
<a-form-model-item
|
label='系统信息'
|
:labelCol='labelCol'
|
:wrapperCol='wrapperCol'
|
prop='system'
|
>
|
<a-input
|
v-model='model.system'
|
:disabled='formDisabled'
|
placeholder='请输入系统'
|
></a-input>
|
</a-form-model-item>
|
</a-col>
|
<a-col :span='6'>
|
<a-form-model-item
|
label='端口'
|
:labelCol='labelCol'
|
:wrapperCol='wrapperCol'
|
prop='port'
|
>
|
<a-input
|
v-model='model.port'
|
:disabled='formDisabled'
|
placeholder='请输入端口'
|
></a-input>
|
</a-form-model-item>
|
</a-col>
|
<a-col :span='6'>
|
<a-form-model-item
|
label='坐标数量'
|
:labelCol='labelCol'
|
:wrapperCol='wrapperCol'
|
prop='coordinateNum'
|
>
|
<a-input-number
|
v-model='model.coordinateNum'
|
:disabled='formDisabled'
|
placeholder='请输入坐标数量'
|
style='width: 100%'
|
/>
|
</a-form-model-item>
|
</a-col>
|
</a-row>
|
<a-row>
|
<a-col :span='6'>
|
<a-form-model-item
|
label='资产制造商'
|
:labelCol='labelCol'
|
:wrapperCol='wrapperCol'
|
prop='constructorId'
|
>
|
<j-dict-select-tag
|
allow-clear
|
:disabled='formDisabled'
|
placeholder='请选择资产制造商'
|
:triggerChange='true'
|
dictCode="mom_base_constructor,name,id,status!='0' and del_flag!='1'"
|
v-model='model.constructorId'
|
/>
|
</a-form-model-item>
|
</a-col>
|
<a-col :span='6'>
|
<a-form-model-item
|
label='验收日期'
|
:labelCol='labelCol'
|
:wrapperCol='wrapperCol'
|
prop='acceptanceCheckDate'
|
>
|
<a-date-picker
|
:disabled='formDisabled'
|
placeholder='请选择验收日期'
|
style='width: 100%;'
|
v-model='model.acceptanceCheckDate'
|
@change='dateChange'
|
valueFormat="YYYY-MM-DD"
|
format="YYYY-MM-DD"
|
/>
|
</a-form-model-item>
|
</a-col>
|
<a-col :span='6'>
|
<a-form-model-item
|
label='技术状态鉴定周期'
|
:labelCol='labelCol'
|
:wrapperCol='wrapperCol'
|
prop='checkPeriod'
|
>
|
<j-dict-select-tag
|
allow-clear
|
placeholder='请选择技术状态鉴定周期 '
|
:triggerChange='true'
|
dictCode='check_period'
|
v-model='model.checkPeriod'
|
@change='dateChange'
|
/>
|
</a-form-model-item>
|
</a-col>
|
<a-col :span='6'>
|
<a-form-model-item
|
label='下次技术状态鉴定时间'
|
:labelCol='labelCol'
|
:wrapperCol='wrapperCol'
|
prop='nextTechnologyStatusQualificationTime'
|
>
|
<j-date
|
:disabled='true'
|
style='width: 100%;'
|
placeholder='请选择日期'
|
class='query-group-cust'
|
v-model='model.nextTechnologyStatusQualificationTime'
|
></j-date>
|
</a-form-model-item>
|
</a-col>
|
</a-row>
|
<a-row>
|
<a-col :span='6'>
|
<a-form-model-item
|
label='二保日期'
|
:labelCol='labelCol'
|
:wrapperCol='wrapperCol'
|
prop='secondMaintenanceTime'
|
>
|
<j-date
|
:disabled='true'
|
style='width: 100%;'
|
placeholder='请选择二保日期'
|
class='query-group-cust'
|
v-model='model.secondMaintenanceTime'
|
></j-date>
|
</a-form-model-item>
|
</a-col>
|
<a-col :span='6'>
|
<a-form-model-item
|
label='三保日期'
|
:labelCol='labelCol'
|
:wrapperCol='wrapperCol'
|
prop='thirdMaintenanceTime'
|
>
|
<j-date
|
:disabled='true'
|
style='width: 100%;'
|
placeholder='请选择三保日期'
|
class='query-group-cust'
|
v-model='model.thirdMaintenanceTime'
|
></j-date>
|
</a-form-model-item>
|
</a-col>
|
<a-col :span='6'>
|
<a-form-model-item
|
label='下次三保日期'
|
:labelCol='labelCol'
|
:wrapperCol='wrapperCol'
|
prop='nextThirdMaintenanceTime'
|
>
|
<j-date
|
:disabled='true'
|
style='width: 100%;'
|
placeholder='请选择下次三保日期'
|
class='query-group-cust'
|
v-model='model.nextThirdMaintenanceTime'
|
></j-date>
|
</a-form-model-item>
|
</a-col>
|
</a-row>
|
<a-row>
|
<a-divider
|
orientation='center'
|
style='font-size: large;font-style: italic;color: #66aeed;'
|
>状态及标识
|
</a-divider>
|
<a-col :span='6'>
|
<a-form-model-item
|
label='设备状态'
|
:labelCol='labelCol'
|
:wrapperCol='wrapperCol'
|
prop='equipmentStatus'
|
>
|
<j-dict-select-tag
|
allow-clear
|
:disabled='formDisabled'
|
placeholder='请输入设备状态'
|
:triggerChange='true'
|
dictCode='equipment_status'
|
v-model='model.equipmentStatus'
|
/>
|
</a-form-model-item>
|
</a-col>
|
<a-col :span='6'>
|
<a-form-model-item
|
label='技术状态'
|
:labelCol='labelCol'
|
:wrapperCol='wrapperCol'
|
prop='technologyStatus'
|
>
|
<j-dict-select-tag
|
allow-clear
|
:disabled='formDisabled'
|
placeholder='请选择技术状态'
|
:triggerChange='true'
|
dictCode='technology_status'
|
v-model='model.technologyStatus'
|
/>
|
</a-form-model-item>
|
</a-col>
|
<a-col :span='6'>
|
<a-form-model-item
|
label='资产状态'
|
:labelCol='labelCol'
|
:wrapperCol='wrapperCol'
|
prop='propertyStatus'
|
>
|
<j-dict-select-tag
|
allow-clear
|
:disabled='formDisabled'
|
placeholder='请输入资产状态'
|
:triggerChange='true'
|
dictCode='property_status'
|
v-model='model.propertyStatus'
|
/>
|
</a-form-model-item>
|
</a-col>
|
</a-row>
|
<a-row v-if="model.propertyStatus=='warranty'">
|
<a-divider
|
orientation='center'
|
style='font-size: large;font-style: italic;color: #66aeed;'
|
>质保日期
|
</a-divider>
|
<a-col :span='6'>
|
<a-form-model-item
|
label='质保开始日期'
|
:labelCol='labelCol'
|
:wrapperCol='wrapperCol'
|
prop='warrantyStart'
|
>
|
<j-date
|
:disabled='formDisabled'
|
style='width: 100%;'
|
placeholder='请选择开始日期'
|
class='query-group-cust'
|
v-model='model.warrantyStart'
|
></j-date>
|
</a-form-model-item>
|
</a-col>
|
<a-col :span='6'>
|
<a-form-model-item
|
label='质保结束日期'
|
:labelCol='labelCol'
|
:wrapperCol='wrapperCol'
|
prop='warrantyEnd'
|
>
|
<j-date
|
:disabled='formDisabled'
|
style='width: 100%;'
|
placeholder='请选择结束日期'
|
class='query-group-cust'
|
v-model='model.warrantyEnd'
|
></j-date>
|
</a-form-model-item>
|
</a-col>
|
</a-row>
|
<a-row>
|
<a-divider
|
orientation='center'
|
style='font-size: large;font-style: italic;color: #66aeed;'
|
>出厂及安装信息
|
</a-divider>
|
<a-col :span='6'>
|
<a-form-model-item
|
label='出厂编号'
|
:labelCol='labelCol'
|
:wrapperCol='wrapperCol'
|
prop='factoryNumber'
|
>
|
<a-input
|
:disabled='formDisabled'
|
placeholder='请输入出厂编号'
|
v-model='model.factoryNumber'
|
/>
|
</a-form-model-item>
|
</a-col>
|
<a-col :span='6'>
|
<a-form-model-item
|
label='出厂日期'
|
:labelCol='labelCol'
|
:wrapperCol='wrapperCol'
|
prop='leaveFactoryDate'
|
>
|
<a-date-picker
|
:disabled='formDisabled'
|
placeholder='请输入出厂日期'
|
style='width: 100%;'
|
v-model='model.leaveFactoryDate'
|
/>
|
</a-form-model-item>
|
</a-col>
|
<a-col :span='6'>
|
<a-form-model-item
|
label='立项卡号'
|
:labelCol='labelCol'
|
:wrapperCol='wrapperCol'
|
prop='projectApprovalNo'
|
>
|
<a-input
|
v-model='model.projectApprovalNo'
|
:disabled='formDisabled'
|
placeholder='请输入立项卡号'
|
></a-input>
|
</a-form-model-item>
|
</a-col>
|
</a-row>
|
<a-row>
|
<!-- <a-col :span="6">
|
<a-form-model-item
|
label="工区"
|
:labelCol="labelCol"
|
:wrapperCol="wrapperCol"
|
prop="equipmentUda1"
|
>
|
<a-input
|
v-model="model.equipmentUda1"
|
placeholder="请输入工区"
|
:disabled="formDisabled"
|
></a-input>
|
</a-form-model-item>
|
</a-col> -->
|
<a-col :span='6'>
|
<a-form-model-item
|
label='重量'
|
:labelCol='labelCol'
|
:wrapperCol='wrapperCol'
|
prop='equipmentUda3'
|
>
|
<a-input
|
v-model='model.equipmentUda3'
|
:disabled='formDisabled'
|
placeholder='请输入重量'
|
></a-input>
|
</a-form-model-item>
|
</a-col>
|
|
<a-col :span='6'>
|
<a-form-model-item
|
label='重量计量单位'
|
:labelCol='labelCol'
|
:wrapperCol='wrapperCol'
|
prop='equipmentUda4'
|
>
|
<a-input
|
v-model='model.equipmentUda4'
|
:disabled='formDisabled'
|
placeholder='请输入重量计量单位ID'
|
></a-input>
|
</a-form-model-item>
|
</a-col>
|
<a-col :span='6'>
|
<a-form-model-item
|
label='安装位置'
|
:labelCol='labelCol'
|
:wrapperCol='wrapperCol'
|
prop='location'
|
>
|
<a-input
|
v-model='model.location'
|
placeholder='请输入安装位置'
|
:disabled='formDisabled'
|
></a-input>
|
</a-form-model-item>
|
</a-col>
|
<a-col :span='6'>
|
<a-form-model-item
|
label='功能位置'
|
:labelCol='labelCol'
|
:wrapperCol='wrapperCol'
|
prop='equipmentUda5'
|
>
|
<a-input
|
v-model='model.equipmentUda5'
|
:disabled='formDisabled'
|
placeholder='请输入功能位置'
|
></a-input>
|
</a-form-model-item>
|
</a-col>
|
</a-row>
|
<a-row>
|
<a-col :span='6'>
|
<a-form-model-item
|
label='资金来源'
|
:labelCol='labelCol'
|
:wrapperCol='wrapperCol'
|
prop='fundSource'
|
>
|
<a-input
|
v-model='model.fundSource'
|
:disabled='formDisabled'
|
placeholder='请输入资金来源'
|
></a-input>
|
</a-form-model-item>
|
</a-col>
|
<a-col :span='6'>
|
<a-form-model-item
|
label='资产来源国家'
|
:labelCol='labelCol'
|
:wrapperCol='wrapperCol'
|
prop='sourceCountry'
|
>
|
<a-input
|
v-model='model.sourceCountry'
|
:disabled='formDisabled'
|
placeholder='请输入资产来源国家'
|
></a-input>
|
</a-form-model-item>
|
</a-col>
|
<a-col :span='6'>
|
<a-form-model-item
|
label='备注'
|
:labelCol='labelCol'
|
:wrapperCol='wrapperCol'
|
prop='remark'
|
>
|
<a-input
|
v-model='model.remark'
|
placeholder='请输入备注'
|
:disabled='formDisabled'
|
></a-input>
|
</a-form-model-item>
|
</a-col>
|
</a-row>
|
<a-row hidden>
|
<a-col :span='6'>
|
<a-form-model-item
|
label='平均使用率'
|
:labelCol='labelCol'
|
:wrapperCol='wrapperCol'
|
prop='standardA'
|
>
|
<j-dict-select-tag
|
allow-clear
|
placeholder='请选择平均使用率'
|
:disabled='formDisabled'
|
:triggerChange='true'
|
dictCode='ABC-standardA'
|
v-model='model.standardA'
|
@change='standardResultCompute'
|
/>
|
</a-form-model-item>
|
</a-col>
|
</a-row>
|
<a-row hidden>
|
<a-col :span='6'>
|
<a-form-model-item
|
label='可替换性'
|
:labelCol='labelCol'
|
:wrapperCol='wrapperCol'
|
prop='standardB'
|
>
|
<j-dict-select-tag
|
allow-clear
|
placeholder='请选择可替换性'
|
:disabled='formDisabled'
|
:triggerChange='true'
|
dictCode='ABC-standardB'
|
v-model='model.standardB'
|
@change='standardResultCompute'
|
/>
|
</a-form-model-item>
|
</a-col>
|
<a-col :span='6'>
|
<a-form-model-item
|
label='故障影响度'
|
:labelCol='labelCol'
|
:wrapperCol='wrapperCol'
|
prop='standardC'
|
>
|
<j-dict-select-tag
|
allow-clear
|
placeholder='请选择故障影响度'
|
:disabled='formDisabled'
|
:triggerChange='true'
|
dictCode='ABC-standardC'
|
v-model='model.standardC'
|
@change='standardResultCompute'
|
/>
|
</a-form-model-item>
|
</a-col>
|
<a-col :span='6'>
|
<a-form-model-item
|
label='生产超差度'
|
:labelCol='labelCol'
|
:wrapperCol='wrapperCol'
|
prop='standardD'
|
>
|
<j-dict-select-tag
|
allow-clear
|
placeholder='请选择生产超差度'
|
:disabled='formDisabled'
|
:triggerChange='true'
|
dictCode='ABC-standardD'
|
v-model='model.standardD'
|
@change='standardResultCompute'
|
/>
|
</a-form-model-item>
|
</a-col>
|
<a-col :span='6'>
|
<a-form-model-item
|
label='设备价值'
|
:labelCol='labelCol'
|
:wrapperCol='wrapperCol'
|
prop='standardF'
|
>
|
<j-dict-select-tag
|
allow-clear
|
placeholder='请选择设备价值'
|
:disabled='formDisabled'
|
:triggerChange='true'
|
dictCode='ABC-standardF'
|
v-model='model.standardF'
|
@change='standardResultCompute'
|
/>
|
</a-form-model-item>
|
</a-col>
|
</a-row>
|
<a-row>
|
<a-divider
|
orientation='center'
|
style='font-size: large;font-style: italic;color: #66aeed;'
|
> 精度及模版
|
</a-divider>
|
<a-col :span='6'>
|
<a-form-model-item
|
label='设备精度管理'
|
:labelCol='labelCol'
|
:wrapperCol='wrapperCol'
|
prop='precisionParameters'
|
>
|
<a-switch
|
:disabled='formDisabled'
|
checked-children='是'
|
un-checked-children='否'
|
:checked="model.precisionParameters == '1'"
|
@change='handle2Switch(model.precisionParameters)'
|
/>
|
</a-form-model-item>
|
</a-col>
|
<a-col
|
:span='6'
|
v-if="model.precisionParameters == '1'"
|
>
|
<a-form-model-item
|
label='设备精度模版'
|
:labelCol='labelCol'
|
:wrapperCol='wrapperCol'
|
prop='precisionParametersTemplateId'
|
>
|
<a-input-search
|
:disabled='formDisabled'
|
placeholder='请选择设备精度模板'
|
enter-button
|
@search='onSearchPrecisionParametersTemplate()'
|
:read-only='true'
|
v-model='model.precisionParametersTemplateId_dictText'
|
/>
|
</a-form-model-item>
|
</a-col>
|
<a-col :span='6'>
|
<a-form-model-item
|
label='工艺模版管理'
|
:labelCol='labelCol'
|
:wrapperCol='wrapperCol'
|
prop='processParameters'
|
>
|
<a-switch
|
:disabled='formDisabled'
|
checked-children='是'
|
un-checked-children='否'
|
:checked="model.processParameters == '1'"
|
@change='handleSwitch(model.processParameters)'
|
/>
|
</a-form-model-item>
|
</a-col>
|
<a-col
|
:span='6'
|
v-if="model.processParameters == '1'"
|
>
|
<a-form-model-item
|
label='设备工艺模版'
|
:labelCol='labelCol'
|
:wrapperCol='wrapperCol'
|
prop='precisionParametersTemplateId'
|
>
|
<a-input-search
|
:disabled='formDisabled'
|
placeholder='请选择设备工艺模板'
|
enter-button
|
@search='onSearchProcessParametersTemplate()'
|
:read-only='true'
|
v-model='model.processParametersTemplateId_dictText'
|
/>
|
</a-form-model-item>
|
</a-col>
|
</a-row>
|
</a-form-model>
|
<process-parameters-template-list
|
ref='ProcessParametersTemplateList'
|
@sendProcessParametersTemplateRecord='sendProcessParametersTemplateRecord'
|
></process-parameters-template-list>
|
<precision-parameters-template-list
|
ref='PrecisionParametersTemplateList'
|
:num='model.num'
|
@sendPrecisionParametersTemplateRecord='sendPrecisionParametersTemplateRecord'
|
></precision-parameters-template-list>
|
</a-spin>
|
</j-modal>
|
</template>
|
<script>
|
import { httpAction } from '@/api/manage'
|
import { validateDuplicateValue } from '@/utils/util'
|
import pick from 'lodash.pick'
|
import { postAction, requestPut, getAction } from '@/api/manage'
|
import { duplicateCheck } from '@/api/api'
|
import moment from 'moment'
|
import ProcessParametersTemplateList from './serach/ProcessParametersTemplateList'
|
import PrecisionParametersTemplateList from './serach/PrecisionParametersTemplateList'
|
import { JVxeTableModelMixin } from '@/mixins/JVxeTableModelMixin.js'
|
import { JVXETypes } from '@/components/jeecg/JVxeTable'
|
|
export default {
|
name: 'EquipmentModal',
|
mixins: [JVxeTableModelMixin],
|
components: {
|
validateDuplicateValue,
|
ProcessParametersTemplateList,
|
PrecisionParametersTemplateList
|
},
|
props: {
|
disableSubmit: {
|
type: Boolean,
|
default: false,
|
required: false
|
},
|
caytegoryParam: {
|
type: String,
|
default: '',
|
required: false
|
}
|
},
|
data() {
|
return {
|
title: '操作',
|
width: 1500,
|
visible: false,
|
model: {
|
equipmentStatus: '1',
|
isLine: 'no',
|
isLineEquip: 'no'
|
},
|
labelCol: {
|
xs: { span: 24 },
|
sm: { span: 10 }
|
},
|
wrapperCol: {
|
xs: { span: 24 },
|
sm: { span: 14 }
|
},
|
isLineEquipShow: false,
|
confirmLoading: false,
|
validatorRules: {
|
num: [
|
{ required: true, message: '请输入设备编号!' },
|
// { min: 2, max: 30, message: '长度在 2 到 30 个字符', trigger: 'blur' },
|
// { validator: this.validateNum }
|
],
|
name: [
|
{ required: true, message: '请输入设备名称!' }
|
// { min: 2, max: 30, message: '长度在 2 到 30 个字符', trigger: 'blur' },
|
// { validator: this.validateName },
|
],
|
teamId: [
|
{ required: true, message: '请选择责任班组!' }
|
],
|
processParametersTemplateName: [
|
{ required: true, message: '请选择工艺参数模板!' }
|
],
|
precisionParametersTemplateName: [
|
{ required: true, message: '请选择设备精度模板!' }
|
],
|
remark: [
|
{ min: 0, max: 100, message: '长度不超过 100 个字符', trigger: 'blur' }
|
],
|
equipmentCategoryId: [
|
{ required: true, message: '请选则设备类别!' }
|
],
|
specification: [
|
{ required: true, message: '请选则设备规格!' }
|
],
|
model: [
|
{ required: true, message: '请选则设备型号!' }
|
],
|
equipmentImportanceId: [
|
{ required: true, message: '请选则设备ABC标识!' }
|
],
|
manageId: [
|
{ required: true, message: '请选择维护部门!' }
|
],
|
useId: [
|
{ required: true, message: '请选择使用部门!' }
|
],
|
specificEquipment: [
|
{ required: true, message: '请选择关键设备标识!' }
|
],
|
equipmentStatus: [
|
{ required: true, message: '请选择设备状态!' }
|
],
|
technologyStatus: [
|
{ required: true, message: '请选择设备状态!' }
|
],
|
workCenterId: [
|
{ required: true, message: '请选择中心!' }
|
],
|
factoryModelId: [
|
{ required: false, message: '请选择工区!' }
|
],
|
warrantyStart: [
|
{ required: true, message: '请选择开始日期!' }
|
],
|
warrantyEnd: [
|
{ required: true, message: '请选择结束日期!' }
|
],
|
propertyStatus: [
|
{ required: true, message: '请选择资产状态!' }
|
],
|
system: [
|
{ required: true, message: '请输入系统!' }
|
],
|
acceptanceCheckDate: [
|
{ required: true, message: '请选择验收日期!' }
|
],
|
checkPeriod: [
|
{ required: true, message: '请选择技术状态检定周期!' }
|
],
|
areaId: [
|
{ required: false, message: '请选择工段!' }
|
]
|
},
|
url: {
|
add: '/eam/equipment/add',
|
edit: '/eam/equipment/edit',
|
loadOptions: '/sys/sysDepart/loadDepartTreeOptions',
|
getCategoryFlag: '/eam/equipmentCategory/queryById'
|
},
|
treeData: [],
|
needSpecific: false
|
|
}
|
},
|
created() {
|
//备份model原始值
|
this.initOptions()
|
this.modelDefault = JSON.parse(JSON.stringify(this.model))
|
},
|
methods: {
|
add() {
|
this.edit(this.modelDefault)
|
},
|
edit(record) {
|
console.log(this.disabled)
|
this.model = Object.assign({}, record)
|
// if (!this.model.id) {
|
// this.model.equipmentStatus = '1'
|
// this.model.isLineEquip = 'no'
|
// this.model.isLine = 'no'
|
// }
|
this.visible = true
|
},
|
close() {
|
this.$emit('close')
|
this.visible = false
|
this.$refs.form.clearValidate()
|
},
|
handleOk() {
|
const that = this
|
// 触发表单验证
|
this.$refs.form.validate(valid => {
|
if (valid) {
|
that.confirmLoading = true
|
let httpurl = ''
|
let method = ''
|
if (!this.model.id) {
|
httpurl += this.url.add
|
method = 'post'
|
} else {
|
httpurl += this.url.edit
|
method = 'put'
|
}
|
httpAction(httpurl, this.model, method).then((res) => {
|
if (res.success) {
|
that.$message.success(res.message)
|
that.$emit('ok')
|
that.close()
|
} else {
|
that.$message.error(res.message)
|
}
|
}).finally(() => {
|
that.confirmLoading = false
|
// that.close()
|
})
|
} else {
|
return false
|
}
|
})
|
},
|
handleCancel() {
|
this.close()
|
},
|
validateNum(rule, value, callback) {
|
var params = {
|
tableName: 'mom_eam_equipment',
|
fieldName: 'num',
|
fieldVal: value,
|
dataId: this.model.id,
|
//数据库中存在字段del_flag并使用该字段作为未删除策略,真删除:false 假删除:true
|
delFlag: '0'
|
}
|
duplicateCheck(params).then((res) => {
|
if (res.success) {
|
callback()
|
} else {
|
callback('编号已存在!')
|
}
|
})
|
},
|
// 是否生产线 当选择生产线的时候才能选择是否是主设备
|
isLineChange(e) {
|
console.log('value' + e)
|
if (e == 'yes') {
|
this.isLineEquipShow = true
|
} else {
|
this.isLineEquipShow = false
|
}
|
},
|
|
|
//验证 名称
|
validateName(rule, value, callback) {
|
var params = {
|
tableName: 'mom_eam_equipment',
|
fieldName: 'name',
|
fieldVal: value,
|
dataId: this.model.id,
|
//数据库中存在字段del_flag并使用该字段作为未删除策略,真删除:false 假删除:true
|
delFlag: '0'
|
}
|
duplicateCheck(params).then((res) => {
|
if (res.success) {
|
callback()
|
} else {
|
callback('名称已存在!')
|
}
|
})
|
},
|
|
handleSwitch(processParameters) {
|
if ('1' == processParameters) {
|
this.model.processParameters = '0'
|
} else {
|
this.model.processParameters = '1'
|
}
|
this.model = Object.assign({}, this.model)
|
},
|
handle2Switch(precisionParameters) {
|
if ('1' == precisionParameters) {
|
this.model.precisionParameters = '0'
|
} else {
|
this.model.precisionParameters = '1'
|
}
|
this.model = Object.assign({}, this.model)
|
},
|
initOptions() {
|
getAction(this.url.loadOptions).then(res => {
|
if (res.success) {
|
this.treeData = res.result
|
} else {
|
this.$message.warning(res.message)
|
}
|
})
|
},
|
|
handle2Change(val) {
|
if (val === null) {
|
setTimeout(() => {
|
this.form.setFieldsValue({ useId: '' })
|
}, 100)
|
}
|
},
|
handle1Change(val) {
|
if (val === null) {
|
setTimeout(() => {
|
this.form.setFieldsValue({ affiliationId: '' })
|
}, 100)
|
}
|
},
|
|
handle3Change(val) {
|
if (val === null) {
|
setTimeout(() => {
|
this.form.setFieldsValue({ manageId: '' })
|
}, 100)
|
}
|
},
|
|
uploadOk(imgList) {
|
this.model.sysUploadList = imgList
|
this.equipmentPhoto = this.getSrc(imgList[0])
|
// this.$set(this.model, 'photo', res);
|
// this.$set(this.model, 'sysUploadList', imgList);
|
},
|
|
onSearchProcessParametersTemplate() {
|
this.$refs.ProcessParametersTemplateList.list()
|
this.$refs.ProcessParametersTemplateList.title = '选择工艺参数模板'
|
},
|
sendProcessParametersTemplateRecord(data) {
|
let record = data.record
|
this.model.processParametersTemplateId = record.id
|
this.model.processParametersTemplateId_dictText = record.name
|
this.model = Object.assign({}, this.model)
|
},
|
|
onSearchPrecisionParametersTemplate() {
|
if (this.model.num == '' || this.model.num == undefined || this.model.num == null) {
|
this.$message.warn('请先填写统一编码')
|
return false
|
}
|
this.$refs.PrecisionParametersTemplateList.list()
|
this.$refs.PrecisionParametersTemplateList.title = '选择设备精度模板'
|
},
|
sendPrecisionParametersTemplateRecord(data) {
|
let record = data.record
|
this.model.precisionParametersTemplateId = record.id
|
this.model.precisionParametersTemplateId_dictText = record.name
|
this.model = Object.assign({}, this.model)
|
},
|
standardResultCompute() {
|
|
var standardA = this.model.standardA == null || this.model.standardA == undefined || this.model.standardA == '' ? 0 : parseInt(this.model.standardA)
|
var standardB = this.model.standardB == null || this.model.standardB == undefined || this.model.standardB == '' ? 0 : parseInt(this.model.standardB)
|
var standardC = this.model.standardA == null || this.model.standardC == undefined || this.model.standardC == '' ? 0 : parseInt(this.model.standardC)
|
var standardD = this.model.standardD == null || this.model.standardD == undefined || this.model.standardD == '' ? 0 : parseInt(this.model.standardD)
|
var standardE = this.model.standardE == null || this.model.standardE == undefined || this.model.standardE == '' ? 0 : parseInt(this.model.standardE)
|
var standardF = this.model.standardF == null || this.model.standardF == undefined || this.model.standardF == '' ? 0 : parseInt(this.model.standardF)
|
|
var sum = standardA + standardB + standardC + standardD + standardE + standardF
|
console.log(sum)
|
if (sum >= 18) {
|
this.model.equipmentImportanceId = 'A'
|
} else if (sum >= 10 && sum <= 17) {
|
this.model.equipmentImportanceId = 'B'
|
} else {
|
this.model.equipmentImportanceId = 'C'
|
}
|
this.model = Object.assign({}, this.model)
|
|
},
|
changeNeedSpecific(val) {
|
if (val == 'A') {
|
this.needSpecific = true
|
} else {
|
let that = this
|
this.$confirm({
|
title: '提示',
|
content: '非A类设备,是否要添加关键设备标识!',
|
okText: '确认',
|
cancelText: '取消',
|
onOk() {
|
that.needSpecific = true
|
},
|
onCancel() {
|
that.needSpecific = false
|
}
|
})
|
}
|
//改变技术状态鉴定周期
|
if (this.model.equipmentCategoryId !== null && this.model.equipmentCategoryId != '') {
|
var value = this.model.equipmentCategoryId
|
getAction(this.url.getCategoryFlag, { id: value }).then(res => {
|
if (res.result.equipmentCategoryUda1 !== 'weldingMachine' && res.result.equipmentCategoryUda11 !== 'filesCarousel' && res.result.equipmentCategoryUda1 !== 'tester') {
|
if (val === 'A') {
|
this.model.checkPeriod = 365 * 3 + ''
|
}
|
if (val === 'B' || val === 'C' || val === 'D') {
|
this.model.checkPeriod = 365 * 4 + ''
|
}
|
}
|
this.model = Object.assign({}, this.model)
|
})
|
}
|
},
|
//计算下次技术状态鉴定时间,下次技术状态鉴定时间=验收日期+技术状态检定周期-1天
|
dateChange() {
|
var acceptanceCheckDate = this.model.acceptanceCheckDate
|
var checkPeriod = this.model.checkPeriod
|
if (acceptanceCheckDate !== null && acceptanceCheckDate !== '' && checkPeriod !== null && checkPeriod !== '') {
|
var nextTechnologyStatusQualificationTime = moment(acceptanceCheckDate).add(checkPeriod, 'days').subtract(1, 'days').format('YYYY-MM-DD')
|
this.model.nextTechnologyStatusQualificationTime = nextTechnologyStatusQualificationTime
|
this.model = Object.assign({}, this.model)
|
} else {
|
this.model.nextTechnologyStatusQualificationTime = ''
|
this.model = Object.assign({}, this.model)
|
}
|
},
|
categoryChange(value) {
|
getAction(this.url.getCategoryFlag, { id: value }).then(res => {
|
if (res.result.equipmentCategoryUda1 === 'weldingMachine') {
|
this.model.checkPeriod = 365 * 3 + ''
|
} else if (res.result.equipmentCategoryUda1 === 'filesCarousel') {
|
this.model.checkPeriod = 365 * 4 + ''
|
} else if (res.result.equipmentCategoryUda1 === 'tester') {
|
this.model.checkPeriod = 365 * 1 + ''
|
}
|
this.model = Object.assign({}, this.model)
|
})
|
},
|
//当中心改变时,清空工区和工段
|
workCenterChange() {
|
this.model.factoryModelId = ''
|
this.model.areaId = ''
|
this.model = Object.assign({}, this.model)
|
},
|
//当工区改变时,清空工段
|
factoryModelChange() {
|
this.model.areaId = ''
|
this.model = Object.assign({}, this.model)
|
}
|
},
|
computed: {
|
formDisabled() {
|
return this.disableSubmit
|
}
|
},
|
watch: {
|
alterFlag() {
|
this.$bus.$emit('queryTreeData')
|
}
|
}
|
}
|
</script>
|