Files
wms_base/wcs/qd/src/views/acs/protocolConfig/index.vue
2022-07-29 18:01:37 +08:00

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>