联调设备文件
This commit is contained in:
@@ -151,7 +151,7 @@
|
||||
<el-form-item label="设备型号:" prop="devModel" class="top">
|
||||
<el-select v-model.trim="form.devModel" filterable placeholder="请选择" clearable>
|
||||
<el-option
|
||||
v-for="item in formDevModelOptionsFilter "
|
||||
v-for="item in formDevModelOptionsFilter"
|
||||
:key="item.value"
|
||||
:label="item.label"
|
||||
:value="item.value"
|
||||
@@ -164,6 +164,15 @@
|
||||
<el-option label="CLD" value="CLD"></el-option>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
<el-form-item label="关联项目:" class="top">
|
||||
<el-cascader
|
||||
v-model.trim="form.association"
|
||||
filterable
|
||||
:options="engineeringList"
|
||||
:props="props"
|
||||
clearable
|
||||
/>
|
||||
</el-form-item>
|
||||
<el-form-item label="排序:" class="top" prop="sort">
|
||||
<el-input maxlength="32" show-word-limit-number v-model.trim="form.sort" :min="0" />
|
||||
</el-form-item>
|
||||
@@ -198,7 +207,7 @@ import TableHeader from '@/components/table/header/index.vue'
|
||||
import { queryByCode, queryByid, queryCsDictTree } from '@/api/system-boot/dictTree'
|
||||
import { ElMessage, ElMessageBox } from 'element-plus'
|
||||
import { activateUser, deluser, passwordConfirm } from '@/api/user-boot/user'
|
||||
import { downLoadFile } from '@/api/cs-system-boot/manage.ts'
|
||||
import { downLoadFile } from '@/api/cs-system-boot/manage'
|
||||
import {
|
||||
addEquipmentDelivery,
|
||||
deleteEquipmentDelivery,
|
||||
@@ -208,7 +217,8 @@ import {
|
||||
governDeviceRegister,
|
||||
portableDeviceRegister,
|
||||
portableDeviceAccess,
|
||||
getExcelTemplate
|
||||
getExcelTemplate,
|
||||
engineeringProject
|
||||
} from '@/api/cs-system-boot/device'
|
||||
import html2canvas from 'html2canvas'
|
||||
import { fullUrl } from '@/utils/common'
|
||||
@@ -221,17 +231,27 @@ const showQrCode = ref(false)
|
||||
const devTypeOptions: any = ref([])
|
||||
const devTypeOptions2: any = ref([])
|
||||
const devModelOptions2: any = ref([])
|
||||
const engineeringList: any = ref([])
|
||||
|
||||
const deivce: any = ref({})
|
||||
const ruleFormRef = ref()
|
||||
const form = reactive({
|
||||
const form: any = reactive({
|
||||
cntractNo: '',
|
||||
devAccessMethod: 'MQTT',
|
||||
devModel: '',
|
||||
devType: '',
|
||||
name: '',
|
||||
ndid: '',
|
||||
associatedEngineering: '',
|
||||
associatedProject: '',
|
||||
association: [],
|
||||
sort: 0
|
||||
})
|
||||
const props = {
|
||||
label: 'projectName',
|
||||
value: 'projectId',
|
||||
children: 'projectInfoList'
|
||||
}
|
||||
const rules = reactive({
|
||||
name: [{ required: true, message: '请输入设备名', trigger: 'blur' }],
|
||||
ndid: [{ required: true, message: '请输入网络设备id', trigger: 'blur' }],
|
||||
@@ -248,19 +268,21 @@ const dialogTitle = ref('新增设备')
|
||||
const loading = ref<boolean>(false)
|
||||
const devModelOptions: any = ref([])
|
||||
const queryTheDictionary = () => {
|
||||
queryByCode('DEV_CLD').then(res => {
|
||||
queryByCode('DEV_CLD')
|
||||
.then(res => {
|
||||
devTypeOptions2.value = res.data
|
||||
return queryCsDictTree(res.data.id).then(res => {
|
||||
devModelOptions2.value = res.data.map((item: any) => {
|
||||
return {
|
||||
value: item.id,
|
||||
label: item.name,
|
||||
...item
|
||||
}
|
||||
})
|
||||
return {
|
||||
value: item.id,
|
||||
label: item.name,
|
||||
...item
|
||||
}
|
||||
})
|
||||
})
|
||||
}).then(() => {
|
||||
queryByCode('Device_Type').then(async res => {
|
||||
})
|
||||
.then(() => {
|
||||
queryByCode('Device_Type').then(async res => {
|
||||
const id = res.data.id
|
||||
await queryCsDictTree(id).then(res => {
|
||||
devTypeOptions.value = res.data.map((item: any) => {
|
||||
@@ -270,7 +292,7 @@ const queryTheDictionary = () => {
|
||||
...item
|
||||
}
|
||||
})
|
||||
|
||||
|
||||
// let index = devTypeOptions.value.findIndex((item: any) => {
|
||||
// return item.name == '网关'
|
||||
// })
|
||||
@@ -292,10 +314,10 @@ const queryTheDictionary = () => {
|
||||
})
|
||||
await tableStore.index()
|
||||
})
|
||||
}).catch(error => {
|
||||
})
|
||||
.catch(error => {
|
||||
console.error('查询过程中出现错误:', error)
|
||||
})
|
||||
|
||||
}
|
||||
const devModelOptionsFilter = computed(() => {
|
||||
return devModelOptions.value.filter((item: any) => {
|
||||
@@ -308,7 +330,7 @@ const devModelOptionsFilter = computed(() => {
|
||||
})
|
||||
|
||||
const formDevModelOptionsFilter = computed(() => {
|
||||
if(form.devAccessMethod === 'CLD'){
|
||||
if (form.devAccessMethod === 'CLD') {
|
||||
return devModelOptions2.value.filter((item: any) => {
|
||||
if (form.devType) {
|
||||
return item.pid == form.devType
|
||||
@@ -316,18 +338,17 @@ const formDevModelOptionsFilter = computed(() => {
|
||||
return true
|
||||
}
|
||||
})
|
||||
}else{
|
||||
} else {
|
||||
return devModelOptions.value.filter((item: any) => {
|
||||
if (form.devType) {
|
||||
return item.pid == form.devType
|
||||
} else {
|
||||
return true
|
||||
}
|
||||
})
|
||||
if (form.devType) {
|
||||
return item.pid == form.devType
|
||||
} else {
|
||||
return true
|
||||
}
|
||||
})
|
||||
}
|
||||
})
|
||||
|
||||
|
||||
const formDevTypeOptions = computed(() => {
|
||||
// 如果协议是CLD,使用devTypeOptions2,否则使用devTypeOptions
|
||||
if (form.devAccessMethod === 'CLD') {
|
||||
@@ -362,13 +383,13 @@ const tableStore = new TableStore({
|
||||
field: 'devType',
|
||||
formatter: row => {
|
||||
if (row.row.devAccessMethod === 'CLD') {
|
||||
// 遍历devTypeOptions2查找匹配
|
||||
// 遍历devTypeOptions2查找匹配
|
||||
return devTypeOptions2.value.name
|
||||
}
|
||||
}
|
||||
// 如果是MQTT协议,使用devTypeOptions查找
|
||||
else if (row.row.devAccessMethod === 'MQTT') {
|
||||
const item = devTypeOptions.value.find((item: any) => item.value == row.cellValue);
|
||||
return item ? item.label : '/';
|
||||
const item = devTypeOptions.value.find((item: any) => item.value == row.cellValue)
|
||||
return item ? item.label : '/'
|
||||
}
|
||||
},
|
||||
minWidth: 120
|
||||
@@ -378,8 +399,8 @@ const tableStore = new TableStore({
|
||||
field: 'devModel',
|
||||
formatter: row => {
|
||||
const options = row.row.devAccessMethod === 'MQTT' ? devModelOptions.value : devModelOptions2.value
|
||||
const item = options.find((item: any) => item.value == row.cellValue);
|
||||
return item ? item.label : '/';
|
||||
const item = options.find((item: any) => item.value == row.cellValue)
|
||||
return item ? item.label : '/'
|
||||
},
|
||||
minWidth: 120
|
||||
},
|
||||
@@ -488,7 +509,8 @@ const tableStore = new TableStore({
|
||||
minWidth: 80
|
||||
},
|
||||
{
|
||||
title: '操作', fixed: 'right',
|
||||
title: '操作',
|
||||
fixed: 'right',
|
||||
align: 'center',
|
||||
width: 220,
|
||||
render: 'buttons',
|
||||
@@ -677,7 +699,6 @@ const tableStore = new TableStore({
|
||||
useCORS: true
|
||||
}).then(canvas => {
|
||||
let url = canvas.toDataURL('image/png')
|
||||
console.log('🚀 ~ html2canvas ~ url:', url)
|
||||
// 下载图片
|
||||
let a = document.createElement('a')
|
||||
let event = new MouseEvent('click')
|
||||
@@ -701,6 +722,10 @@ const tableStore = new TableStore({
|
||||
for (let key in form) {
|
||||
form[key] = row[key]
|
||||
}
|
||||
|
||||
form.association = row.associatedProject
|
||||
? [row.associatedEngineering, row.associatedProject]
|
||||
: []
|
||||
form.id = row.id
|
||||
}
|
||||
},
|
||||
@@ -741,7 +766,6 @@ const tableStore = new TableStore({
|
||||
: ''
|
||||
}
|
||||
})
|
||||
console.log('🚀 ~ loadCallback ~ tableStore.table:', tableStore.table)
|
||||
tableKey.value += 1
|
||||
}
|
||||
})
|
||||
@@ -877,6 +901,9 @@ const add = () => {
|
||||
const onSubmit = () => {
|
||||
ruleFormRef.value.validate((valid: any) => {
|
||||
if (valid) {
|
||||
form.associatedEngineering = form.association ? form.association[0] : ''
|
||||
form.associatedProject = form.association ? form.association[1] : ''
|
||||
|
||||
if (dialogTitle.value == '新增设备') {
|
||||
addEquipmentDelivery(form).then(res => {
|
||||
ElMessage.success('新增成功')
|
||||
@@ -923,6 +950,9 @@ const resetForm = () => {
|
||||
devModel: '',
|
||||
devType: '',
|
||||
name: '',
|
||||
associatedEngineering: '',
|
||||
associatedProject: '',
|
||||
association: [],
|
||||
ndid: ''
|
||||
}
|
||||
Object.assign(form, user)
|
||||
@@ -939,6 +969,15 @@ provide('tableStore', tableStore)
|
||||
|
||||
onMounted(() => {
|
||||
queryTheDictionary()
|
||||
engineeringProject().then(res => {
|
||||
engineeringList.value = res.data.filter(item => {
|
||||
item.projectName = item.engineeringName
|
||||
item.projectId = item.engineeringId
|
||||
item.disabled = item.projectInfoList ? false : true
|
||||
return item
|
||||
})
|
||||
})
|
||||
|
||||
setTimeout(() => {}, 100)
|
||||
})
|
||||
|
||||
|
||||
Reference in New Issue
Block a user