|
@@ -21,17 +21,17 @@
|
|
</el-form-item>
|
|
</el-form-item>
|
|
<el-form-item label="设备分类:" prop="categoryId">
|
|
<el-form-item label="设备分类:" prop="categoryId">
|
|
<el-select v-model="form.categoryId" placeholder="请选择设备分类">
|
|
<el-select v-model="form.categoryId" placeholder="请选择设备分类">
|
|
- <el-option v-for="item in categoryOptions" :key="item.id" :label="item.name" :value="item.id" />
|
|
|
|
|
|
+ <el-option v-for="item in categoryOptions" :key="item.value" :label="item.label" :value="item.value" />
|
|
</el-select>
|
|
</el-select>
|
|
</el-form-item>
|
|
</el-form-item>
|
|
<el-form-item label="设备类型:" prop="deviceType">
|
|
<el-form-item label="设备类型:" prop="deviceType">
|
|
<el-select v-model="form.deviceType" placeholder="请选择设备类型">
|
|
<el-select v-model="form.deviceType" placeholder="请选择设备类型">
|
|
- <el-option v-for="item in deviceTypeOptions" :key="item.value" :value="item.value" :label="item.label" />
|
|
|
|
|
|
+ <el-option v-for="item in devTypeOptions" :key="item.value" :value="item.value" :label="item.label" />
|
|
</el-select>
|
|
</el-select>
|
|
</el-form-item>
|
|
</el-form-item>
|
|
<el-form-item label="是否热门:" prop="isHot">
|
|
<el-form-item label="是否热门:" prop="isHot">
|
|
<el-select v-model="form.isHot" placeholder="请选择是否热门">
|
|
<el-select v-model="form.isHot" placeholder="请选择是否热门">
|
|
- <el-option v-for="item in hotOptions" :key="item.value" :label="item.label" :value="Number(item.value)" />
|
|
|
|
|
|
+ <el-option v-for="item in yesOrNoOptions" :key="item.value" :label="item.label" :value="Number(item.value)" />
|
|
</el-select>
|
|
</el-select>
|
|
</el-form-item>
|
|
</el-form-item>
|
|
<el-row>
|
|
<el-row>
|
|
@@ -55,14 +55,14 @@
|
|
<el-form-item label="设备模式:" :prop="`typeList.${index}.type`"
|
|
<el-form-item label="设备模式:" :prop="`typeList.${index}.type`"
|
|
:rules="{ required: true, message: '请选择设备模式', trigger: 'change' }">
|
|
:rules="{ required: true, message: '请选择设备模式', trigger: 'change' }">
|
|
<el-select v-model="item.type" placeholder="请选择设备模式" @change="getTypeChange(item)">
|
|
<el-select v-model="item.type" placeholder="请选择设备模式" @change="getTypeChange(item)">
|
|
- <el-option v-for="item in modeOptions" :key="item.value" :label="item.label" :value="Number(item.value)"
|
|
|
|
|
|
+ <el-option v-for="item in devModeOptions" :key="item.value" :label="item.label" :value="Number(item.value)"
|
|
:disabled="item.disabled" />
|
|
:disabled="item.disabled" />
|
|
</el-select>
|
|
</el-select>
|
|
</el-form-item>
|
|
</el-form-item>
|
|
<el-form-item v-if="item.type !== 3" label="功能权限:" :prop="`typeList.${index}.functionList`"
|
|
<el-form-item v-if="item.type !== 3" label="功能权限:" :prop="`typeList.${index}.functionList`"
|
|
:rules="{ type: 'array', required: true, message: '请选择功能权限', trigger: 'change' }">
|
|
:rules="{ type: 'array', required: true, message: '请选择功能权限', trigger: 'change' }">
|
|
<el-select v-model="item.functionList" placeholder="请选择功能权限" multiple>
|
|
<el-select v-model="item.functionList" placeholder="请选择功能权限" multiple>
|
|
- <el-option v-for="item in functionOptions" :key="item.id" :label="item.name" :value="item.type" />
|
|
|
|
|
|
+ <el-option v-for="item in devFucOptions" :key="item.value" :label="item.label" :value="item.value" />
|
|
</el-select>
|
|
</el-select>
|
|
</el-form-item>
|
|
</el-form-item>
|
|
<el-form-item v-if="item.type == 2" label="连接方式:" :prop="`typeList.${index}.connectType`"
|
|
<el-form-item v-if="item.type == 2" label="连接方式:" :prop="`typeList.${index}.connectType`"
|
|
@@ -104,14 +104,11 @@
|
|
</template>
|
|
</template>
|
|
|
|
|
|
<script>
|
|
<script>
|
|
-import { list as classList } from "@/api/device/class";
|
|
|
|
-import { list as functionList } from "@/api/device/function";
|
|
|
|
import { create, detail, edit } from "@/api/device/list";
|
|
import { create, detail, edit } from "@/api/device/list";
|
|
-import { devModeMixin } from "@/mixin/index";
|
|
|
|
|
|
+import { devModeMixin, devTypeMixin, devCategoryMixin, yesOrNoMixin, devFucMixin } from "@/mixin/index";
|
|
import Editor from "@/components/Editor/index";
|
|
import Editor from "@/components/Editor/index";
|
|
-
|
|
|
|
export default {
|
|
export default {
|
|
- mixins: [devModeMixin],
|
|
|
|
|
|
+ mixins: [devModeMixin, devTypeMixin, devCategoryMixin, yesOrNoMixin, devFucMixin],
|
|
components: {
|
|
components: {
|
|
Editor
|
|
Editor
|
|
},
|
|
},
|
|
@@ -119,7 +116,6 @@ export default {
|
|
return {
|
|
return {
|
|
// 能否编辑
|
|
// 能否编辑
|
|
disabled: false,
|
|
disabled: false,
|
|
- functionOptions: [],
|
|
|
|
// 表单
|
|
// 表单
|
|
form: {
|
|
form: {
|
|
typeList: [
|
|
typeList: [
|
|
@@ -144,14 +140,6 @@ export default {
|
|
img: [{ required: true, message: "请上传在线图片", trigger: "change" }],
|
|
img: [{ required: true, message: "请上传在线图片", trigger: "change" }],
|
|
offlineImg: [{ required: true, message: "请上传离线图片", trigger: "change" }],
|
|
offlineImg: [{ required: true, message: "请上传离线图片", trigger: "change" }],
|
|
},
|
|
},
|
|
- // 是否热门
|
|
|
|
- hotOptions: [{
|
|
|
|
- value: 0,
|
|
|
|
- label: '否'
|
|
|
|
- }, {
|
|
|
|
- value: 1,
|
|
|
|
- label: '是'
|
|
|
|
- }],
|
|
|
|
// 设备连接
|
|
// 设备连接
|
|
connectTypeOptions: [{
|
|
connectTypeOptions: [{
|
|
value: 2,
|
|
value: 2,
|
|
@@ -173,40 +161,12 @@ export default {
|
|
}, {
|
|
}, {
|
|
value: 'QiXinWei',
|
|
value: 'QiXinWei',
|
|
label: 'QiXinWei'
|
|
label: 'QiXinWei'
|
|
- }],
|
|
|
|
- functionOptions: [],
|
|
|
|
- categoryOptions: [],
|
|
|
|
- deviceTypeOptions: [{
|
|
|
|
- value: 0,
|
|
|
|
- label: '音响'
|
|
|
|
- }, {
|
|
|
|
- value: 1,
|
|
|
|
- label: '耳机'
|
|
|
|
- }, {
|
|
|
|
- value: 2,
|
|
|
|
- label: '穿戴'
|
|
|
|
}]
|
|
}]
|
|
};
|
|
};
|
|
},
|
|
},
|
|
mounted() {
|
|
mounted() {
|
|
this.disabled = this.$route.query.key === "查看" ? true : false
|
|
this.disabled = this.$route.query.key === "查看" ? true : false
|
|
this.getList()
|
|
this.getList()
|
|
- // 权限列表
|
|
|
|
- functionList({
|
|
|
|
- isDelete: 0
|
|
|
|
- }).then((res) => {
|
|
|
|
- if (res.code === 0) {
|
|
|
|
- this.functionOptions = res.data;
|
|
|
|
- }
|
|
|
|
- });
|
|
|
|
- // 设备类型
|
|
|
|
- classList({
|
|
|
|
- status: 1,
|
|
|
|
- }).then((res) => {
|
|
|
|
- if (res.code === 0) {
|
|
|
|
- this.categoryOptions = res.data;
|
|
|
|
- }
|
|
|
|
- });
|
|
|
|
},
|
|
},
|
|
methods: {
|
|
methods: {
|
|
// 详情
|
|
// 详情
|
|
@@ -218,7 +178,7 @@ export default {
|
|
if (res.code === 0) {
|
|
if (res.code === 0) {
|
|
this.form = res.data;
|
|
this.form = res.data;
|
|
this.form.typeList.map((i) => {
|
|
this.form.typeList.map((i) => {
|
|
- this.modeOptions[i.type - 1].disabled = true;
|
|
|
|
|
|
+ this.devModeOptions[i.type - 1].disabled = true;
|
|
});
|
|
});
|
|
}
|
|
}
|
|
});
|
|
});
|
|
@@ -267,16 +227,16 @@ export default {
|
|
|
|
|
|
// 选中一个设备类型就从数组中去掉
|
|
// 选中一个设备类型就从数组中去掉
|
|
getTypeChange(item) {
|
|
getTypeChange(item) {
|
|
- for (let i in this.modeOptions) {
|
|
|
|
- this.modeOptions[i].disabled = false
|
|
|
|
|
|
+ for (let i in this.devModeOptions) {
|
|
|
|
+ this.devModeOptions[i].disabled = false
|
|
}
|
|
}
|
|
this.$set(item, 'functionList', [])
|
|
this.$set(item, 'functionList', [])
|
|
this.$set(item, 'connectType', null)
|
|
this.$set(item, 'connectType', null)
|
|
this.$set(item, 'guidePageContent', '')
|
|
this.$set(item, 'guidePageContent', '')
|
|
this.form.typeList.map(i => {
|
|
this.form.typeList.map(i => {
|
|
if (i.type) {
|
|
if (i.type) {
|
|
- let index = this.modeOptions.findIndex(j => j.value == i.type)
|
|
|
|
- this.modeOptions[index].disabled = true
|
|
|
|
|
|
+ let index = this.devModeOptions.findIndex(j => j.value == i.type)
|
|
|
|
+ this.devModeOptions[index].disabled = true
|
|
}
|
|
}
|
|
})
|
|
})
|
|
},
|
|
},
|
|
@@ -294,7 +254,7 @@ export default {
|
|
// 删除子表单
|
|
// 删除子表单
|
|
getDelete(index) {
|
|
getDelete(index) {
|
|
this.form.typeList.splice(index, 1);
|
|
this.form.typeList.splice(index, 1);
|
|
- this.modeOptions[index].disabled = false;
|
|
|
|
|
|
+ this.devModeOptions[index].disabled = false;
|
|
},
|
|
},
|
|
|
|
|
|
// 取消
|
|
// 取消
|