|
@@ -25,6 +25,8 @@
|
|
|
<el-form-item label="设备分类:" prop="categoryId">
|
|
|
<el-select v-model="data.form.categoryId" placeholder="请选择设备分类">
|
|
|
<el-option v-for="item in deviceClassOptions" :key="item.id" :label="item.name" :value="item.id" />
|
|
|
+ <el-option v-if="data.form.categoryId && !deviceClassOptions.some(i => i.id == data.form.categoryId)"
|
|
|
+ label="分类不存在" :value="data.form.categoryId" />
|
|
|
</el-select>
|
|
|
</el-form-item>
|
|
|
<el-form-item label="设备类型:" prop="deviceType">
|
|
@@ -52,13 +54,13 @@
|
|
|
</el-col>
|
|
|
</el-row>
|
|
|
<!-- 子表单 -->
|
|
|
- <el-button v-if="disabled === false && data.form.typeList.length < 4" type="primary" icon="Plus" style="margin-bottom: 20px;"
|
|
|
- @click="getAdd">新增</el-button>
|
|
|
+ <el-button v-if="disabled === false && data.form.typeList.length < 4" type="primary" icon="Plus"
|
|
|
+ style="margin-bottom: 20px;" @click="getAdd">新增</el-button>
|
|
|
<div class="sub-form" v-for="(item, index) in data.form.typeList" :key="item.id">
|
|
|
<el-form-item label="设备模式:" :prop="`typeList.${index}.type`"
|
|
|
:rules="{ required: true, message: '请选择设备模式', trigger: 'change' }">
|
|
|
<el-select v-model="item.type" placeholder="请选择设备模式" @change="getTypeChange(item)">
|
|
|
- <el-option v-for="item in data.devModeOptions" :key="item.value" :label="item.label"
|
|
|
+ <el-option v-for="item in devModeOptions" :key="item.value" :label="item.label"
|
|
|
:value="Number(item.value)" :disabled="item.disabled" />
|
|
|
</el-select>
|
|
|
</el-form-item>
|
|
@@ -103,8 +105,8 @@
|
|
|
<Editor v-model="item.guidePageContent" :min-height="250" :readOnly="disabled" />
|
|
|
</el-form-item>
|
|
|
<!-- 删除按钮 -->
|
|
|
- <el-link class="el-icon-close" icon="Close" v-if="data.form.typeList.length > 1" :underline="false" :disabled="disabled"
|
|
|
- @click="getDelete(item.type, index)" />
|
|
|
+ <el-link class="el-icon-close" icon="Close" v-if="data.form.typeList.length > 1" :underline="false"
|
|
|
+ :disabled="disabled" @click="getDelete(item.type, index)" />
|
|
|
</div>
|
|
|
</el-form>
|
|
|
<div>
|
|
@@ -116,11 +118,12 @@
|
|
|
|
|
|
<script setup>
|
|
|
import { create, detail, edit } from "@/api/device/list";
|
|
|
-import { useDeviceClass, useDeviceType, useHot, useDeviceFun } from '../hooks/index'
|
|
|
+import { useDeviceClass, useDeviceType, useHot, useDeviceFun, useDeviceMode } from '../hooks/index'
|
|
|
const { deviceClassOptions } = useDeviceClass()
|
|
|
const { deviceTypeOptions } = useDeviceType()
|
|
|
const { hotOptions } = useHot()
|
|
|
const { deviceFunOptions } = useDeviceFun()
|
|
|
+const { devModeOptions } = useDeviceMode()
|
|
|
|
|
|
const { proxy } = getCurrentInstance();
|
|
|
|
|
@@ -172,24 +175,6 @@ const data = reactive({
|
|
|
}, {
|
|
|
value: 0,
|
|
|
label: '不兼容5GHZ频段芯片方案'
|
|
|
- }],
|
|
|
- // 设备模式
|
|
|
- devModeOptions: [{
|
|
|
- value: 1,
|
|
|
- label: '蓝牙',
|
|
|
- disabled: false
|
|
|
- }, {
|
|
|
- value: 2,
|
|
|
- label: 'WIFI',
|
|
|
- disabled: false
|
|
|
- }, {
|
|
|
- value: 3,
|
|
|
- label: '传统蓝牙',
|
|
|
- disabled: false
|
|
|
- }, {
|
|
|
- value: 4,
|
|
|
- label: '4G',
|
|
|
- disabled: false
|
|
|
}]
|
|
|
})
|
|
|
|
|
@@ -209,7 +194,7 @@ const getList = () => {
|
|
|
if (res.code === 0) {
|
|
|
data.form = res.data;
|
|
|
data.form.typeList.map((i) => {
|
|
|
- data.devModeOptions[i.type - 1].disabled = true;
|
|
|
+ devModeOptions[i.type - 1].disabled = true;
|
|
|
})
|
|
|
}
|
|
|
})
|
|
@@ -259,14 +244,14 @@ const handleUploadIcon = (e, index, obj) => {
|
|
|
|
|
|
// 选中一个设备类型就从数组中去掉
|
|
|
const getTypeChange = (i) => {
|
|
|
- for (let key in data.devModeOptions) {
|
|
|
- data.devModeOptions[key].disabled = false
|
|
|
+ for (let key in devModeOptions) {
|
|
|
+ devModeOptions[key].disabled = false
|
|
|
}
|
|
|
// 选中的设备模式禁止再选
|
|
|
data.form.typeList.map(item => {
|
|
|
if (item.type) {
|
|
|
- let index = data.devModeOptions.findIndex(j => j.value == item.type)
|
|
|
- data.devModeOptions[index].disabled = true
|
|
|
+ let index = devModeOptions.findIndex(j => j.value == item.type)
|
|
|
+ devModeOptions[index].disabled = true
|
|
|
}
|
|
|
})
|
|
|
// 除了设备模式都为空
|
|
@@ -293,7 +278,7 @@ const getAdd = () => {
|
|
|
const getDelete = (type, index) => {
|
|
|
data.form.typeList.splice(index, 1);
|
|
|
if (type) {
|
|
|
- data.devModeOptions.find(i => i.value == type).disabled = false
|
|
|
+ devModeOptions.find(i => i.value == type).disabled = false
|
|
|
}
|
|
|
}
|
|
|
|