Files
whxr_acs/qd/src/views/acs/device/config.vue
2023-01-11 16:04:38 +08:00

227 lines
8.3 KiB
Vue
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<template>
<div class="app-container">
<el-row :gutter="15">
<el-col>
<el-card class="box-card" shadow="never">
<div slot="header" class="clearfix">
<span class="role-span">基本信息{{ device_code }}</span>
</div>
<el-form ref="form" :inline="true" :model="form" :rules="rules" size="small" label-width="78px">
<el-row>
<el-col :span="12">
<el-form-item label="设备类型" prop="device_type">
<el-select
v-model="form.device_type"
placeholder=""
disabled
>
<el-option
v-for="item in dict.device_type"
:key="item.id"
:label="item.label"
:value="item.value"
/>
</el-select>
<span style="color: #C0C0C0;margin-left: 10px;" />
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="设备编号" prop="device_code">
<el-input v-model="form.device_code" disabled />
<span style="color: #C0C0C0;margin-left: 10px;" />
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="12">
<el-form-item label="设备名称" prop="device_name">
<el-input v-model="form.device_name" disabled />
<span style="color: #C0C0C0;margin-left: 10px;" />
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="设备驱动" prop="driver_code">
<el-select
v-model="form.driver_code"
placeholder=""
filterable
@change="changeDriver"
>
<el-option
v-for="item in deviceDriverList"
:key="item.code"
:label="item.name"
:value="item.code"
/>
</el-select>
</el-form-item>
</el-col>
</el-row>
</el-form>
</el-card>
</el-col>
<!-- 组件-->
<component :is="currentComponent" :parent-form="form" />
</el-row>
</div>
</template>
<script>
import crud from '@/mixins/crud'
import { get, selectDriverCodeList } from '@/api/acs/device/driverConfig'
import { getDicts } from '@/api/system/dict'
import standard_inspect_site from './driver/standard_inspect_site'
import standard_ordinary_site from './driver/standard_ordinary_site'
import weighing_site from './driver/weighing_site'
import machines_site from './driver/machines_site'
import lamp_three_color from './driver/lamp_three_color'
import standard_autodoor from './driver/standard_autodoor'
import standard_emptypallet_site from './driver/standard_emptypallet_site'
import standard_manipulator_inspect_site from './driver/standard_manipulator_inspect_site'
import standard_special_inspect_site from './driver/standard_special_inspect_site'
import special_ordinary_site from './driver/special_ordinary_site'
import standard_storage from '@/views/acs/device/driver/standard_storage'
import standard_scanner from '@/views/acs/device/driver/standard_scanner'
import standard_conveyor_control_with_scanner from '@/views/acs/device/driver/standard_conveyor_control_with_scanner'
import standard_conveyor_control_with_plcscanner
from '@/views/acs/device/driver/standard_conveyor_control_with_plcscanner'
import standard_conveyor_control from '@/views/acs/device/driver/standard_conveyor_control'
import standard_conveyor_monitor from '@/views/acs/device/driver/standard_conveyor_monitor'
import non_line_manipulator_inspect_site from '@/views/acs/device/driver/non_line_manipulator_inspect_site'
import non_line_inspect_site from '@/views/acs/device/driver/non_line_inspect_site'
import manipulator_inspect_site_NDC from '@/views/acs/device/driver/manipulator_inspect_site_NDC'
import feedback_agv_status_site from '@/views/acs/device/driver/feedback_agv_status_site'
import standard_manipulator_stacking_site from '@/views/acs/device/driver/standard_manipulator_stacking_site'
import standard_photoelectric_inspect_site from '@/views/acs/device/driver/standard_photoelectric_inspect_site'
import ndxy_special from '@/views/acs/device/driver/ndxy_special'
import hailiang_labeling from '@/views/acs/device/driver/hailiang_labeling'
import ndxy_special_two from '@/views/acs/device/driver/ndxy_special_two'
import whxr_storage_conveyor from '@/views/acs/device/driver/whxr/whxr_storage_conveyor'
import whxr_ball_mill from '@/views/acs/device/driver/whxr/whxr_ball_mill'
import whxr_spary_tower from '@/views/acs/device/driver/whxr/whxr_spary_power'
import whxr_weight from '@/views/acs/device/driver/whxr/whxr_weight'
import electric_fence from '@/views/acs/device/driver/electric_fence'
import oumulong_plc from '@/views/acs/device/driver/oumulong_plc'
import traffic_light from '@/views/acs/device/driver/traffic_light'
import standard_rgv from '@/views/acs/device/driver/standard_rgv'
import ykbk_special from '@/views/acs/device/driver/ykbk_special'
import ssj_cache_site from '@/views/acs/device/driver/ssj_cache_site'
import magic3 from '@/views/acs/device/driver/magic3'
import agv_site from '@/views/acs/device/driver/agv_site'
import whxr_weighing from '@/views/acs/device/driver/whxr/whxr_weighing'
import jmagv from '@/views/acs/device/driver/jmagv'
import yzja_special from '@/views/acs/device/driver/yzja_special'
import smart_standard_autodoor from '@/views/acs/device/driver/smart_standard_autodoor'
export default {
name: 'DeviceConfig',
components: {
standard_ordinary_site,
standard_inspect_site,
standard_autodoor,
smart_standard_autodoor,
standard_emptypallet_site,
standard_manipulator_inspect_site,
standard_special_inspect_site,
lamp_three_color,
standard_storage,
special_ordinary_site,
standard_scanner,
standard_conveyor_control_with_scanner,
standard_conveyor_control_with_plcscanner,
standard_conveyor_control,
standard_conveyor_monitor,
weighing_site,
machines_site,
non_line_manipulator_inspect_site,
non_line_inspect_site,
manipulator_inspect_site_NDC,
feedback_agv_status_site,
standard_manipulator_stacking_site,
standard_photoelectric_inspect_site,
ndxy_special,
hailiang_labeling,
ndxy_special_two,
whxr_storage_conveyor,
whxr_ball_mill,
whxr_spary_tower,
whxr_weight,
electric_fence,
oumulong_plc,
traffic_light,
standard_rgv,
ykbk_special,
ssj_cache_site,
magic3,
agv_site,
whxr_weighing,
jmagv,
yzja_special
},
dicts: ['device_type'],
mixins: [crud],
data() {
return {
currentComponent: '',
activeName: 'first',
device_name: '',
tableHeight: 550,
columnLoading: false,
configLoading: false,
dicts: [],
syncLoading: false,
genLoading: false,
form: { id: null, device_name: '', device_type: '', name: '', code: '', driver_code: '' },
deviceDriverList: [],
rules: {
driver_code: [
{ required: true, message: '设备驱动不能为空', trigger: 'blur' }
]
}
}
},
created() {
this.tableHeight = document.documentElement.clientHeight - 385
this.device_code = this.$route.params.device_code
this.$nextTick(() => {
get(this.device_code).then(data => {
this.form = data.device
// 默认是普通站点
// this.currentComponent = 'standard_ordinary_site'
if (data.device.driver_code) {
this.currentComponent = data.device.driver_code
}
})
selectDriverCodeList(this.device_code).then(data => {
this.deviceDriverList = data
})
getDicts().then(data => {
this.dicts = data
})
})
},
methods: {
changeDriver(val) {
this.currentComponent = val
}
}
}
</script>
<style rel="stylesheet/scss" lang="scss">
.edit-input {
.el-input__inner {
border: 1px solid #e5e6e7;
}
}
</style>
<style scoped>
::v-deep .input-with-select .el-input-group__prepend {
background-color: #fff;
}
</style>