|
@@ -82,16 +82,34 @@
|
|
<el-button type="success" class="addbutton" @click="addParamss">增加分组</el-button>
|
|
<el-button type="success" class="addbutton" @click="addParamss">增加分组</el-button>
|
|
</div>
|
|
</div>
|
|
<div v-if="formData.from == 4">
|
|
<div v-if="formData.from == 4">
|
|
- <el-form-item label="选择设备" prop="devconfig.deviceKey">
|
|
|
|
- <el-select v-model="formData.devconfig.deviceKey" :rules="ruleForm['devconfig.deviceKey']" filterable placeholder="请选择设备" @change="formData.devconfig.productKey = ''">
|
|
|
|
|
|
+ <el-form-item label="设备或产品">
|
|
|
|
+ <el-radio-group v-model="deviceOrProduct" @change=";(formData.devconfig.productKey = ''), (formData.devconfig.deviceKey = '')">
|
|
|
|
+ <el-radio label="device">设备</el-radio>
|
|
|
|
+ <el-radio label="product">产品</el-radio>
|
|
|
|
+ </el-radio-group>
|
|
|
|
+ </el-form-item>
|
|
|
|
+ <el-form-item label="选择设备" v-if="deviceOrProduct == 'device'" prop="devconfig.deviceKey">
|
|
|
|
+ <el-select
|
|
|
|
+ v-model="formData.devconfig.deviceKey"
|
|
|
|
+ :rules="ruleForm['devconfig.deviceKey']"
|
|
|
|
+ filterable
|
|
|
|
+ placeholder="请选择设备"
|
|
|
|
+ @change="formData.devconfig.productKey = ''"
|
|
|
|
+ >
|
|
<el-option v-for="item in sourceData" :key="item.key" :label="item.name" :value="item.key">
|
|
<el-option v-for="item in sourceData" :key="item.key" :label="item.name" :value="item.key">
|
|
<span style="float: left">{{ item.name }}</span>
|
|
<span style="float: left">{{ item.name }}</span>
|
|
<span style="float: right; font-size: 13px">{{ item.key }}</span>
|
|
<span style="float: right; font-size: 13px">{{ item.key }}</span>
|
|
</el-option>
|
|
</el-option>
|
|
</el-select>
|
|
</el-select>
|
|
</el-form-item>
|
|
</el-form-item>
|
|
- <el-form-item label="选择产品" prop="devconfig.productKey">
|
|
|
|
- <el-select v-model="formData.devconfig.productKey" :rules="ruleForm['devconfig.productKey']" filterable placeholder="请选择产品" @change="formData.devconfig.deviceKey = ''">
|
|
|
|
|
|
+ <el-form-item label="选择产品" v-if="deviceOrProduct == 'product'" prop="devconfig.productKey">
|
|
|
|
+ <el-select
|
|
|
|
+ v-model="formData.devconfig.productKey"
|
|
|
|
+ :rules="ruleForm['devconfig.productKey']"
|
|
|
|
+ filterable
|
|
|
|
+ placeholder="请选择产品"
|
|
|
|
+ @change="formData.devconfig.deviceKey = ''"
|
|
|
|
+ >
|
|
<el-option v-for="item in producList" :key="item.key" :label="item.name" :value="item.key">
|
|
<el-option v-for="item in producList" :key="item.key" :label="item.name" :value="item.key">
|
|
<span style="float: left">{{ item.name }}</span>
|
|
<span style="float: left">{{ item.name }}</span>
|
|
<span style="float: right; font-size: 13px">{{ item.key }}</span>
|
|
<span style="float: right; font-size: 13px">{{ item.key }}</span>
|
|
@@ -201,6 +219,7 @@ import { Delete, CircleClose } from '@element-plus/icons-vue'
|
|
const emit = defineEmits(['typeList'])
|
|
const emit = defineEmits(['typeList'])
|
|
|
|
|
|
const showDialog = ref(false)
|
|
const showDialog = ref(false)
|
|
|
|
+const deviceOrProduct = ref('device')
|
|
const dialogVisible = ref(false)
|
|
const dialogVisible = ref(false)
|
|
const cronShow = ref(false)
|
|
const cronShow = ref(false)
|
|
const formRef = ref()
|
|
const formRef = ref()
|
|
@@ -355,6 +374,8 @@ const ruleForm = {
|
|
],
|
|
],
|
|
'config.url': [ruleRequired('请求地址不能为空')],
|
|
'config.url': [ruleRequired('请求地址不能为空')],
|
|
'config.cronExpression': [ruleRequired('定时请求不能为空')],
|
|
'config.cronExpression': [ruleRequired('定时请求不能为空')],
|
|
|
|
+ 'devconfig.deviceKey': [ruleRequired('请选择设备')],
|
|
|
|
+ 'devconfig.productKey': [ruleRequired('请选择产品')],
|
|
'tabconfig.type': [ruleRequired('请选择数据来源')],
|
|
'tabconfig.type': [ruleRequired('请选择数据来源')],
|
|
'tabconfig.host': [ruleRequired('请输入主机地址')],
|
|
'tabconfig.host': [ruleRequired('请输入主机地址')],
|
|
'tabconfig.port': [ruleRequired('请输入端口号')],
|
|
'tabconfig.port': [ruleRequired('请输入端口号')],
|
|
@@ -398,11 +419,6 @@ const onSubmit = async () => {
|
|
showDialog.value = false
|
|
showDialog.value = false
|
|
emit('typeList')
|
|
emit('typeList')
|
|
} else if (formData.from == 4) {
|
|
} else if (formData.from == 4) {
|
|
-
|
|
|
|
- if (!formData.devconfig.deviceKey || !formData.devconfig.productKey) {
|
|
|
|
- return ElMessage('请先选择设备或产品')
|
|
|
|
- }
|
|
|
|
-
|
|
|
|
let form = {
|
|
let form = {
|
|
sourceId: formData.sourceId ? formData.sourceId : '',
|
|
sourceId: formData.sourceId ? formData.sourceId : '',
|
|
key: formData.key,
|
|
key: formData.key,
|
|
@@ -463,6 +479,7 @@ const openDialog = async (row: any) => {
|
|
formData.config = res.data.apiConfig
|
|
formData.config = res.data.apiConfig
|
|
requestParams.value = res.data.apiConfig.requestParams
|
|
requestParams.value = res.data.apiConfig.requestParams
|
|
} else if (res.data.from == 4) {
|
|
} else if (res.data.from == 4) {
|
|
|
|
+ deviceOrProduct.value = res.data.deviceConfig.deviceKey ? 'device' : 'product'
|
|
formData.devconfig = res.data.deviceConfig
|
|
formData.devconfig = res.data.deviceConfig
|
|
} else if (res.data.from == 2) {
|
|
} else if (res.data.from == 2) {
|
|
formData.tabconfig = res.data.dbConfig
|
|
formData.tabconfig = res.data.dbConfig
|