143 lines
4.1 KiB
Vue
143 lines
4.1 KiB
Vue
<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">基本信息</span>
|
|
</div>
|
|
<el-form ref="form" :inline="true" :model="form" :rules="rules" size="small" label-width="78px">
|
|
<el-row>
|
|
<el-col :span="8">
|
|
<el-form-item label="起始设备" prop="device_code">
|
|
<el-input v-model="form.device_code" />
|
|
<span style="color: #C0C0C0;margin-left: 10px;" />
|
|
</el-form-item>
|
|
</el-col>
|
|
<el-col :span="8">
|
|
<el-form-item label="数量" prop="device_number">
|
|
<el-input v-model="form.device_number" />
|
|
<span style="color: #C0C0C0;margin-left: 10px;" />
|
|
</el-form-item>
|
|
</el-col>
|
|
<el-col :span="8">
|
|
<el-form-item label="间隔" prop="db_interval">
|
|
<el-input v-model="form.db_interval" />
|
|
<span style="color: #C0C0C0;margin-left: 10px;" />
|
|
</el-form-item>
|
|
</el-col>
|
|
</el-row>
|
|
<el-row>
|
|
<el-col :span="8">
|
|
<el-form-item label="DB类型" prop="type">
|
|
<el-select
|
|
v-model="form.type"
|
|
placeholder=""
|
|
filterable
|
|
>
|
|
<el-option value="db" label="DB" />
|
|
<el-option value="v" label="V" />
|
|
</el-select>
|
|
</el-form-item>
|
|
</el-col>
|
|
<el-col :span="8">
|
|
<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" v-if="componentDio" :parent-form="form" />
|
|
|
|
</el-row>
|
|
</div>
|
|
</template>
|
|
|
|
<script>
|
|
import crud from '@/mixins/crud'
|
|
import { getAllDriverCodeList } from '@/api/acs/device/driverConfig'
|
|
import { getDicts } from '@/api/system/dict'
|
|
import config from './config'
|
|
|
|
export default {
|
|
name: 'ProtocolConfig',
|
|
components: { config },
|
|
dicts: ['device_type'],
|
|
mixins: [crud],
|
|
data() {
|
|
return {
|
|
componentDio: false,
|
|
currentComponent: '',
|
|
activeName: 'first',
|
|
tableHeight: 550,
|
|
columnLoading: false,
|
|
configLoading: false,
|
|
dicts: [],
|
|
syncLoading: false,
|
|
genLoading: false,
|
|
form: { device_code: '', device_number: '', db_interval: '', driver_code: '', type: '' },
|
|
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(() => {
|
|
getAllDriverCodeList().then(data => {
|
|
this.deviceDriverList = data
|
|
})
|
|
getDicts().then(data => {
|
|
this.dicts = data
|
|
})
|
|
})
|
|
},
|
|
methods: {
|
|
changeDriver() {
|
|
this.componentDio = false
|
|
this.$nextTick(() => {
|
|
this.reloadCom()
|
|
})
|
|
},
|
|
reloadCom() {
|
|
this.componentDio = true
|
|
this.currentComponent = 'config'
|
|
}
|
|
}
|
|
}
|
|
</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>
|