<template>
|
<j-modal
|
:title="title"
|
:width="1200"
|
:visible="visible"
|
centered
|
:confirmLoading="confirmLoading"
|
:okButtonProps="{ class:{'jee-hidden': disableSubmit} }"
|
switchFullscreen
|
@ok="handleOk"
|
@cancel="handleCancel"
|
cancelText="关闭">
|
<a-spin :spinning="confirmLoading">
|
<a-form-model ref="form" :model="model" :rules="validatorRules" :labelCol="labelCol" :wrapperCol="wrapperCol">
|
<a-divider orientation="center" style="font-size: large;font-style: italic;color: #66aeed;"> 设备基础信息
|
</a-divider>
|
|
<a-row :gutter="24">
|
<a-col :span="18">
|
<a-row>
|
<a-col :span="8">
|
<a-form-model-item prop="equipmentCode" label="设备编号">
|
<a-input placeholder="请输入设备编号" v-model="model.equipmentCode" :disabled="editable || disableSubmit" />
|
</a-form-model-item>
|
</a-col>
|
<a-col :span="8">
|
<a-form-model-item prop="equipmentName" label="设备名称">
|
<a-input placeholder="请输入设备名称" v-model="model.equipmentName" :disabled="disableSubmit" />
|
</a-form-model-item>
|
</a-col>
|
<a-col :span="8">
|
<a-form-model-item prop="equipmentModel" label="设备型号">
|
<a-input :placeholder="disableSubmit?'':'请输入设备型号'" v-model="model.equipmentModel" :disabled="disableSubmit"/>
|
</a-form-model-item>
|
</a-col>
|
</a-row>
|
|
<a-row>
|
<a-col :span="8">
|
<a-form-model-item prop="equipmentSpecification"
|
label="设备规格">
|
<a-input :placeholder="disableSubmit?'':'请输入设备规格'" v-model="model.equipmentSpecification" :disabled="disableSubmit"/>
|
</a-form-model-item>
|
</a-col>
|
<a-col :span="8">
|
<a-form-model-item prop="equipmentCategory"
|
label="设备分类">
|
<j-dict-select-tag dict-code="equipment_category" placeholder="请选择设备分类"
|
v-model="model.equipmentCategory" :disabled="disableSubmit" />
|
</a-form-model-item>
|
</a-col>
|
<a-col :span="8">
|
<a-form-model-item prop="operationSystem"
|
label="操作系统">
|
<a-input :placeholder="disableSubmit?'':'请输入操作系统'" v-model="model.operationSystem" :disabled="disableSubmit" />
|
</a-form-model-item>
|
</a-col>
|
</a-row>
|
<a-row>
|
<a-col :span="8">
|
<a-form-model-item prop="equipmentImportance"
|
label="关键设备标识">
|
<lx-switch
|
checked-children='是'
|
un-checked-children='否'
|
v-model="model.equipmentImportance"
|
:disabled="disableSubmit"
|
/>
|
</a-form-model-item>
|
</a-col>
|
<a-col :span="8">
|
<a-form-model-item prop="equipmentPower" label="总功率">
|
<a-input :placeholder="disableSubmit?'':'请输入总功率'" v-model="model.equipmentPower" :disabled="disableSubmit"/>
|
</a-form-model-item>
|
</a-col>
|
<a-col :span="8">
|
<a-form-model-item prop="cardNumber" label="立项卡号">
|
<a-input :placeholder="disableSubmit?'':'请输入立项卡号'" v-model="model.cardNumber" :disabled="disableSubmit"/>
|
</a-form-model-item>
|
</a-col>
|
</a-row>
|
</a-col>
|
<a-col :span="6">
|
<j-image-upload text="设备图片" bizPath="eam_equipment_image" v-model="model.equipmentImage"></j-image-upload>
|
</a-col>
|
</a-row>
|
|
<a-row :gutter="24">
|
<a-col :span="6">
|
<a-form-model-item prop="equipmentWeight" label="重量">
|
<a-input :placeholder="disableSubmit?'':'请输入重量'" v-model="model.equipmentWeight" :disabled="disableSubmit"/>
|
</a-form-model-item>
|
</a-col>
|
<a-col :span="6">
|
<a-form-model-item prop="equipmentPort" label="设备端口">
|
<a-input :placeholder="disableSubmit?'':'请输入设备端口'" v-model="model.equipmentPort" :disabled="disableSubmit"/>
|
</a-form-model-item>
|
</a-col>
|
<a-col :span="6">
|
<a-form-model-item prop="coordinateNum" label="坐标数量">
|
<a-input-number :placeholder="disableSubmit?'':'请输入坐标数量'" v-model="model.coordinateNum" style="width: 100%" :disabled="disableSubmit"/>
|
</a-form-model-item>
|
</a-col>
|
<a-col :span="6">
|
<a-form-model-item prop="assetStatus" label="资产状态">
|
<j-dict-select-tag dict-code="asset_status" v-model="model.assetStatus"
|
disabled/>
|
</a-form-model-item>
|
</a-col>
|
</a-row>
|
|
<a-divider orientation="center" style="font-size: large;font-style: italic;color: #66aeed;"> 出厂信息
|
</a-divider>
|
|
<a-row :gutter="24">
|
<a-col :span="6">
|
<a-form-model-item prop="factoryNumber" label="出厂编号">
|
<a-input :placeholder="disableSubmit?'':'请输入出厂编号'" v-model="model.factoryNumber" :disabled="disableSubmit"/>
|
</a-form-model-item>
|
</a-col>
|
<a-col :span="6">
|
<a-form-model-item prop="leaveFactoryDate" label="出厂日期">
|
<a-date-picker placeholder="请选择出厂日期" v-model="model.leaveFactoryDate" :disabled="disableSubmit"/>
|
</a-form-model-item>
|
</a-col>
|
<a-col :span="6">
|
<a-form-model-item prop="acceptanceCheckDate" label="验收日期">
|
<a-date-picker placeholder="请选择验收日期" v-model="model.acceptanceCheckDate" :disabled="disableSubmit"/>
|
</a-form-model-item>
|
</a-col>
|
<a-col :span="6">
|
<a-form-model-item prop="installationPosition" label="安装位置">
|
<a-input :placeholder="disableSubmit?'':'请输入安装位置'" v-model="model.installationPosition" :disabled="disableSubmit"/>
|
</a-form-model-item>
|
</a-col>
|
</a-row>
|
|
<a-row :gutter="24">
|
<a-col :span="6">
|
<a-form-model-item prop="spindleConnectDimension" label="主轴连接尺寸">
|
<a-input :placeholder="disableSubmit?'':'请输入主轴连接尺寸'" v-model="model.spindleConnectDimension" :disabled="disableSubmit"/>
|
</a-form-model-item>
|
</a-col>
|
<a-col :span="6">
|
<a-form-model-item prop="specialEquipment" label="是否特种设备">
|
<lx-switch checked-children='是' un-checked-children='否' v-model="model.specialEquipment" :disabled="disableSubmit"/>
|
</a-form-model-item>
|
</a-col>
|
<a-col :span="6">
|
<a-form-model-item prop="manufacturingEnterprise" label="制造厂家">
|
<a-input :placeholder="disableSubmit?'':'请输入制造厂家'" v-model="model.manufacturingEnterprise" :disabled="disableSubmit"/>
|
</a-form-model-item>
|
</a-col>
|
<a-col :span="6">
|
<a-form-model-item prop="originCountry" label="来源国家">
|
<a-input :placeholder="disableSubmit?'':'请输入来源国家'" v-model="model.originCountry" :disabled="disableSubmit"/>
|
</a-form-model-item>
|
</a-col>
|
</a-row>
|
|
<a-divider orientation="center" style="font-size: large;font-style: italic;color: #66aeed;"> 使用信息
|
</a-divider>
|
|
<a-row :gutter="24">
|
<a-col :span="6">
|
<a-form-model-item prop="orgId" label="使用车间">
|
<a-tree-select v-model="model.orgId"
|
style="width: 100%"
|
:tree-data="treeData"
|
:dropdown-style="{ maxHeight: '400px', overflow: 'auto' }"
|
placeholder="请选择使用车间"
|
allow-clear
|
tree-default-expand-all
|
:disabled="editable || disableSubmit"
|
>
|
</a-tree-select>
|
</a-form-model-item>
|
</a-col>
|
<a-col :span="6">
|
<a-form-model-item prop="equipmentManager" label="设备管理员">
|
<j-search-select-tag placeholder="请选择设备管理员" v-model="model.equipmentManager" dict="sys_user,realname, username, del_flag=0 and post='PCR0004' and status=1" :disabled="disableSubmit"/>
|
</a-form-model-item>
|
</a-col>
|
<a-col :span="6">
|
<a-form-model-item prop="technologyStatus" label="技术状态">
|
<j-dict-select-tag dict-code="technology_status" placeholder="请选择技术状态"
|
v-model="model.technologyStatus" :disabled="disableSubmit"/>
|
</a-form-model-item>
|
</a-col>
|
<a-col :span="6">
|
<a-form-model-item prop="mdcFlag" label="是否实施MDC">
|
<lx-switch checked-children='是' un-checked-children='否' v-model="model.mdcFlag" :disabled="disableSubmit"/>
|
</a-form-model-item>
|
</a-col>
|
<a-col :span="6" v-if="model.mdcFlag === '1'">
|
<a-form-model-item prop="deviceType" label="MDC设备类型">
|
<j-search-select-tag placeholder="请选择设备类型" v-model="model.deviceType" dict="mdc_equipment_type,equipment_type_name, equipment_type_name, equipment_type_states='Y'" :disabled="disableSubmit" />
|
</a-form-model-item>
|
</a-col>
|
</a-row>
|
|
<a-row :gutter="24">
|
<a-col :span="6">
|
<a-form-model-item prop="warrantyStartDate" label="质保开始日期">
|
<a-date-picker :placeholder="disableSubmit?'':'请选择开始日期'" v-model="model.warrantyStartDate" :disabled="disableSubmit"/>
|
</a-form-model-item>
|
</a-col>
|
<a-col :span="6">
|
<a-form-model-item prop="warrantyEndDate" label="质保结束日期">
|
<a-date-picker :placeholder="disableSubmit?'':'请选择结束日期'" v-model="model.warrantyEndDate" :disabled="disableSubmit"/>
|
</a-form-model-item>
|
</a-col>
|
<a-col :span="6">
|
<a-form-model-item prop="processParametersFlag" label="有无工艺参数">
|
<lx-switch checked-children='有' un-checked-children='无' v-model="model.processParametersFlag" :disabled="disableSubmit"/>
|
</a-form-model-item>
|
</a-col>
|
<a-col :span="6">
|
<a-form-model-item prop="precisionParametersFlag" label="有无精度参数">
|
<lx-switch checked-children='有' un-checked-children='无' v-model="model.precisionParametersFlag" :disabled="disableSubmit"/>
|
</a-form-model-item>
|
</a-col>
|
</a-row>
|
|
<a-row :gutter="24">
|
<a-col :span="24">
|
<a-form-model-item :labelCol="labelColLong" :wrapperCol="wrapperColLong" prop="remark" label="备注">
|
<a-textarea :placeholder="disableSubmit?'':'请输入备注'" v-model="model.remark" :disabled="disableSubmit"/>
|
</a-form-model-item>
|
</a-col>
|
</a-row>
|
</a-form-model>
|
</a-spin>
|
</j-modal>
|
</template>
|
|
<script>
|
import { getAction, httpAction } from '@/api/manage'
|
import { validateDuplicateValueInDelFlag } from '@/utils/util'
|
import JSelectProduction from '@comp/jeecgbiz/JSelectProduction.vue'
|
import { getSystemConfigValue } from '@api/api'
|
|
export default {
|
name: 'EamEquipmentModal',
|
components: { JSelectProduction },
|
data() {
|
return {
|
title: '操作',
|
visible: false,
|
//控制编辑
|
editable: false,
|
//详情控制
|
disableSubmit: false,
|
model: {},
|
labelCol: {
|
xs: { span: 24 },
|
sm: { span: 9 }
|
},
|
wrapperCol: {
|
xs: { span: 24 },
|
sm: { span: 14 }
|
},
|
labelColLong: {
|
xs: { span: 24 },
|
sm: { span: 2 }
|
},
|
wrapperColLong: {
|
xs: { span: 24 },
|
sm: { span: 22 }
|
},
|
confirmLoading: false,
|
validatorRules: {
|
equipmentCode: [
|
{ required: true, message: '请输入设备编码' },
|
{ validator: (rule, value, callback) => validateDuplicateValueInDelFlag('eam_equipment', 'equipment_code', value, this.model.id, true, callback) }
|
],
|
equipmentName: [
|
{ required: true, message: '请输入设备名称' }
|
],
|
equipmentCategory: [
|
{ required: true, message: '请选择设备分类' }
|
],
|
leaveFactoryDate: [
|
{ required: true, message: '请选择出厂日期' }
|
],
|
acceptanceCheckDate: [
|
{ required: false, message: '请选择验收日期' }
|
],
|
technologyStatus: [
|
{ required: true, message: '请选择技术状态' }
|
],
|
orgId: [
|
{ required: true, message: '请选择使用车间' }
|
],
|
equipmentManager: [
|
{ required: true, message: '请选择设备管理员' }
|
],
|
deviceType: [
|
{ required: false, message: '请选择设备类型' }
|
]
|
},
|
url: {
|
add: '/eam/equipment/add',
|
edit: '/eam/equipment/edit',
|
loadProductionOptions:'/mdc/mdcProduction/loadProductionTreeOptions'
|
},
|
treeData: [],
|
}
|
},
|
created() {
|
this.loadAllProductionTree();
|
},
|
methods: {
|
add() {
|
this.editable = false;
|
//初始化默认值
|
this.model = {};
|
this.visible = true
|
},
|
edit(record) {
|
this.editable = true;
|
this.model = Object.assign({}, record)
|
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.warning(res.message)
|
}
|
}).finally(() => {
|
that.confirmLoading = false
|
})
|
} else {
|
return false
|
}
|
})
|
},
|
handleCancel() {
|
this.close()
|
},
|
loadAllProductionTree() {
|
//加载车间选择树
|
getAction(this.url.loadProductionOptions).then(res => {
|
if (res.success) {
|
this.treeData = [...res.result]
|
}else {
|
that.$message.warning(res.message)
|
}
|
})
|
},
|
}
|
}
|
</script>
|
|
<style lang="less" scoped>
|
/deep/ .ant-modal-body {
|
padding: 0 24px;
|
}
|
|
/deep/ .ant-upload {
|
width: 185px;
|
height: 185px;
|
}
|
|
/deep/ .img {
|
display: flex;
|
justify-content: center;
|
|
.ant-upload-picture-card-wrapper {
|
width: auto;
|
}
|
}
|
|
/deep/ .ant-upload-list-picture-card-container {
|
width: 185px;
|
height: 185px;
|
}
|
|
/deep/ .ant-upload-list-item {
|
width: 185px;
|
height: 185px;
|
}
|
</style>
|