|
@@ -12,7 +12,7 @@
|
|
|
</el-form-item>
|
|
|
<el-form-item label="升级方式:" prop="upgradeType">
|
|
|
<el-select v-model="form.upgradeType" placeholder="请选择升级方式">
|
|
|
- <el-option v-for="item in dict.type.dev_upgrade_type" :key="item.value" :label="item.label"
|
|
|
+ <el-option v-for="item in upgradeTypeOptions" :key="item.value" :label="item.label"
|
|
|
:value="Number(item.value)" />
|
|
|
</el-select>
|
|
|
</el-form-item>
|
|
@@ -21,8 +21,7 @@
|
|
|
</el-form-item>
|
|
|
<el-form-item label="制造商:" prop="manufacturer">
|
|
|
<el-select v-model="form.manufacturer" placeholder="请选择设备制造商" clearable>
|
|
|
- <el-option v-for="item in dict.type.dev_manu_facturer" :key="item.value" :label="item.label"
|
|
|
- :value="item.value" />
|
|
|
+ <el-option v-for="item in manuOptions" :key="item.value" :label="item.label" :value="item.value" />
|
|
|
</el-select>
|
|
|
</el-form-item>
|
|
|
<el-form-item label="设备类型:" prop="categoryId">
|
|
@@ -32,8 +31,7 @@
|
|
|
</el-form-item>
|
|
|
<el-form-item label="是否热门:" prop="isHot">
|
|
|
<el-select v-model="form.isHot" placeholder="请选择是否热门">
|
|
|
- <el-option v-for="item in dict.type.hot_yes_no" :key="item.value" :label="item.label"
|
|
|
- :value="Number(item.value)" />
|
|
|
+ <el-option v-for="item in hotOptions" :key="item.value" :label="item.label" :value="Number(item.value)" />
|
|
|
</el-select>
|
|
|
</el-form-item>
|
|
|
<el-row>
|
|
@@ -45,8 +43,8 @@
|
|
|
</el-col>
|
|
|
<el-col :span="12">
|
|
|
<el-form-item label="离线图片:" prop="offlineImg" style="float:right">
|
|
|
- <Upload listType="picture-card" :url="form.offlineImg"
|
|
|
- @upload="handleUploadImg($event, 'offline')" :disabled="disabled" />
|
|
|
+ <Upload listType="picture-card" :url="form.offlineImg" @upload="handleUploadImg($event, 'offline')"
|
|
|
+ :disabled="disabled" />
|
|
|
</el-form-item>
|
|
|
</el-col>
|
|
|
</el-row>
|
|
@@ -54,58 +52,53 @@
|
|
|
<el-button v-if="disabled === false && form.typeList.length < 4" type="primary" icon="el-icon-plus"
|
|
|
@click="getAdd">新增</el-button>
|
|
|
<div class="sub-form" v-for="(item, index) in form.typeList" :key="item.id">
|
|
|
- <el-form-item label="设备模式:" :prop="`typeList.${index}.type`" :rules="{
|
|
|
- required: true,
|
|
|
- message: '请选择设备模式',
|
|
|
- trigger: 'change',
|
|
|
- }">
|
|
|
+ <el-form-item label="设备模式:" :prop="`typeList.${index}.type`"
|
|
|
+ :rules="{ required: true, message: '请选择设备模式', trigger: 'change' }">
|
|
|
<el-select v-model="item.type" placeholder="请选择设备模式" @change="getTypeChange($event, index)">
|
|
|
- <el-option v-for="item in dict.type.dev_list_type" :key="item.value" :label="item.label"
|
|
|
- :value="Number(item.value)" :disabled="item.disabled" />
|
|
|
+ <el-option v-for="item in typeOptions" :key="item.value" :label="item.label" :value="Number(item.value)"
|
|
|
+ :disabled="item.disabled" />
|
|
|
</el-select>
|
|
|
</el-form-item>
|
|
|
<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-option v-for="item in functionOptions" :key="item.id" :label="item.name" :value="item.type" />
|
|
|
</el-select>
|
|
|
</el-form-item>
|
|
|
<el-form-item v-if="item.type == 2" label="连接方式:" :prop="`typeList.${index}.connectType`"
|
|
|
- :rules="{required: true, message: '请选择连接方式', trigger: 'change'}">
|
|
|
+ :rules="{ required: true, message: '请选择连接方式', trigger: 'change' }">
|
|
|
<el-select v-model="item.connectType" placeholder="请选择连接方式">
|
|
|
- <el-option v-for="item in dict.type.dev_connect_type" :key="item.value" :label="item.label"
|
|
|
+ <el-option v-for="item in connectTypeOptions" :key="item.value" :label="item.label"
|
|
|
:value="Number(item.value)" />
|
|
|
</el-select>
|
|
|
</el-form-item>
|
|
|
<el-row>
|
|
|
<el-col :span="12">
|
|
|
<el-form-item :label="item.type === 1 || 3 ? '连接引导图:' : '开机引导图'" :prop="`typeList.${index}.icon1`"
|
|
|
- :rules="{ required: true, message: '请上传引导图片', trigger: 'change'}">
|
|
|
- <Upload listType="picture-card" :url="item.icon1"
|
|
|
- @upload="handleUploadIcon($event, index, 'icon1')" :disabled="disabled" />
|
|
|
+ :rules="{ required: true, message: '请上传引导图片', trigger: 'change' }">
|
|
|
+ <Upload listType="picture-card" :url="item.icon1" @upload="handleUploadIcon($event, index, 'icon1')"
|
|
|
+ :disabled="disabled" />
|
|
|
</el-form-item>
|
|
|
</el-col>
|
|
|
<el-col :span="12">
|
|
|
<el-form-item label="配对键引导图:" :prop="`typeList.${index}.icon2`" style="float:right"
|
|
|
- :rules="{ required: true, message: '请上传配对键引导图', trigger: 'change'}">
|
|
|
- <Upload listType="picture-card" :url="item.icon2"
|
|
|
- @upload="handleUploadIcon($event, index, 'icon2')" :disabled="disabled" />
|
|
|
+ :rules="{ required: true, message: '请上传配对键引导图', trigger: 'change' }">
|
|
|
+ <Upload listType="picture-card" :url="item.icon2" @upload="handleUploadIcon($event, index, 'icon2')"
|
|
|
+ :disabled="disabled" />
|
|
|
</el-form-item>
|
|
|
</el-col>
|
|
|
</el-row>
|
|
|
- <el-form-item v-if="item.type === 1 || item.type === 3" label="引导页:"
|
|
|
- :prop="`typeList.${index}.guideUrl`"
|
|
|
- :rules="{ required: true, message: '请输入引导页网址' , trigger: 'blur'}">
|
|
|
+ <el-form-item v-if="item.type === 1 || item.type === 3" label="引导页:" :prop="`typeList.${index}.guideUrl`"
|
|
|
+ :rules="{ required: true, message: '请输入引导页网址', trigger: 'blur' }">
|
|
|
<el-input v-model="item.guideUrl" placeholder="请输入引导页网址" />
|
|
|
</el-form-item>
|
|
|
<el-form-item v-if="item.type === 1 || item.type === 3" label="引导页内容:"
|
|
|
:prop="`typeList.${index}.guidePageContent`"
|
|
|
- :rules="{required: true, message: '请输入引导页内容', trigger: 'blur'}">
|
|
|
+ :rules="{ required: true, message: '请输入引导页内容', trigger: 'blur' }">
|
|
|
<Editor v-model="item.guidePageContent" :min-height="250" :readOnly="disabled" />
|
|
|
</el-form-item>
|
|
|
<!-- 删除按钮 -->
|
|
|
- <el-link class="el-icon-close" v-if="form.typeList.length > 1" :underline="false"
|
|
|
- @click="getDelete(index)" />
|
|
|
+ <el-link class="el-icon-close" v-if="form.typeList.length > 1" :underline="false" @click="getDelete(index)" />
|
|
|
</div>
|
|
|
</el-form>
|
|
|
<div class="form-btn">
|
|
@@ -117,19 +110,12 @@
|
|
|
|
|
|
<script>
|
|
|
import { Add, Detail, Edit } from "@/api/device/list";
|
|
|
-import { category, functions } from "../mixin/index";
|
|
|
+import { category, functions, devType } from "../mixin/index";
|
|
|
import Upload from "@/components/Upload/index";
|
|
|
import Editor from "@/components/Editor/index";
|
|
|
|
|
|
export default {
|
|
|
- dicts: [
|
|
|
- "dev_upgrade_type",
|
|
|
- "hot_yes_no",
|
|
|
- "dev_list_type",
|
|
|
- "dev_connect_type",
|
|
|
- "dev_manu_facturer",
|
|
|
- ],
|
|
|
- mixins: [category, functions],
|
|
|
+ mixins: [category, functions, devType],
|
|
|
components: {
|
|
|
Upload,
|
|
|
Editor
|
|
@@ -149,63 +135,53 @@ export default {
|
|
|
},
|
|
|
// 表单验证
|
|
|
rules: {
|
|
|
- clientType: [
|
|
|
- {
|
|
|
- required: true,
|
|
|
- message: "请输入设备型号",
|
|
|
- trigger: "blur",
|
|
|
- },
|
|
|
- ],
|
|
|
- name: [
|
|
|
- {
|
|
|
- required: true,
|
|
|
- message: "请输入设备名称",
|
|
|
- trigger: "blur",
|
|
|
- },
|
|
|
- ],
|
|
|
- firstVersion: [
|
|
|
- {
|
|
|
- required: true,
|
|
|
- message: "请输入初始版本号",
|
|
|
- trigger: "blur",
|
|
|
- },
|
|
|
- ],
|
|
|
- upgradeType: [
|
|
|
- {
|
|
|
- required: true,
|
|
|
- message: "请选择升级方式",
|
|
|
- trigger: "change",
|
|
|
- },
|
|
|
- ],
|
|
|
- isHot: [
|
|
|
- {
|
|
|
- required: true,
|
|
|
- message: "是否热门",
|
|
|
- trigger: "change",
|
|
|
- },
|
|
|
- ],
|
|
|
- categoryId: [
|
|
|
- {
|
|
|
- required: true,
|
|
|
- message: "请选择设备类型",
|
|
|
- trigger: "change",
|
|
|
- },
|
|
|
- ],
|
|
|
- img: [
|
|
|
- {
|
|
|
- required: true,
|
|
|
- message: "请上传在线图片",
|
|
|
- trigger: "change",
|
|
|
- },
|
|
|
- ],
|
|
|
- offlineImg: [
|
|
|
- {
|
|
|
- required: true,
|
|
|
- message: "请上传离线图片",
|
|
|
- trigger: "change",
|
|
|
- },
|
|
|
- ],
|
|
|
+ clientType: [{ required: true, message: "请输入设备型号", trigger: "blur" }],
|
|
|
+ name: [{ required: true, message: "请输入设备名称", trigger: "blur" }],
|
|
|
+ firstVersion: [{ required: true, message: "请输入初始版本号", trigger: "blur" }],
|
|
|
+ upgradeType: [{ required: true, message: "请选择升级方式", trigger: "change" }],
|
|
|
+ isHot: [{ required: true, message: "是否热门", trigger: "change" }],
|
|
|
+ categoryId: [{ required: true, message: "请选择设备类型", trigger: "change" }],
|
|
|
+ img: [{ required: true, message: "请上传在线图片", trigger: "change" }],
|
|
|
+ offlineImg: [{ required: true, message: "请上传离线图片", trigger: "change" }],
|
|
|
},
|
|
|
+ // 是否热门
|
|
|
+ hotOptions: [{
|
|
|
+ value: 0,
|
|
|
+ label: '否'
|
|
|
+ }, {
|
|
|
+ value: 1,
|
|
|
+ label: '是'
|
|
|
+ }],
|
|
|
+ // 是否强制
|
|
|
+ upgradeTypeOptions: [{
|
|
|
+ value: 1,
|
|
|
+ label: '强制'
|
|
|
+ }, {
|
|
|
+ value: 2,
|
|
|
+ label: '指定'
|
|
|
+ }],
|
|
|
+ // 设备连接
|
|
|
+ connectTypeOptions: [{
|
|
|
+ value: 2,
|
|
|
+ label: 'UPnP'
|
|
|
+ }, {
|
|
|
+ value: 3,
|
|
|
+ label: 'MQTT'
|
|
|
+ }],
|
|
|
+ // 制造商
|
|
|
+ manuOptions: [{
|
|
|
+ value: 'ShanJing',
|
|
|
+ label: 'ShanJing'
|
|
|
+ }, {
|
|
|
+ value: 'JieLi',
|
|
|
+ label: 'JieLi'
|
|
|
+ }, {
|
|
|
+ value: 'LingXin',
|
|
|
+ label: 'LingXin'
|
|
|
+ }, {
|
|
|
+ value: 'QiXinWei',
|
|
|
+ label: 'QiXinWei'
|
|
|
+ }]
|
|
|
};
|
|
|
},
|
|
|
mounted() {
|
|
@@ -222,7 +198,7 @@ export default {
|
|
|
if (res.code === 0) {
|
|
|
this.form = res.data;
|
|
|
this.form.typeList.map((i) => {
|
|
|
- this.dict.type.dev_list_type[i.type - 1].disabled = true;
|
|
|
+ this.typeOptions[i.type - 1].disabled = true;
|
|
|
});
|
|
|
}
|
|
|
});
|
|
@@ -243,13 +219,13 @@ export default {
|
|
|
|
|
|
// 选中一个设备类型就从数组中去掉
|
|
|
getTypeChange() {
|
|
|
- for (let i in this.dict.type.dev_list_type) {
|
|
|
- this.dict.type.dev_list_type[i].disabled = false
|
|
|
+ for (let i in this.typeOptions) {
|
|
|
+ this.typeOptions[i].disabled = false
|
|
|
}
|
|
|
this.form.typeList.map(i => {
|
|
|
if (i.type) {
|
|
|
- let index = this.dict.type.dev_list_type.findIndex(j => j.value == i.type)
|
|
|
- this.dict.type.dev_list_type[index].disabled = true
|
|
|
+ let index = this.typeOptions.findIndex(j => j.value == i.type)
|
|
|
+ this.typeOptions[index].disabled = true
|
|
|
}
|
|
|
})
|
|
|
},
|
|
@@ -267,7 +243,7 @@ export default {
|
|
|
// 删除子表单
|
|
|
getDelete(index) {
|
|
|
this.form.typeList.splice(index, 1);
|
|
|
- this.dict.type.dev_list_type[index].disabled = false;
|
|
|
+ this.typeOptions[index].disabled = false;
|
|
|
},
|
|
|
|
|
|
// 取消
|