Commit 48da2443 authored by wends's avatar wends

Merge remote-tracking branch 'origin/master'

parents 0925a374 0f9783dd
...@@ -5,7 +5,34 @@ const baseURL = '' ...@@ -5,7 +5,34 @@ const baseURL = ''
// 获取数据集列表-分页 // 获取数据集列表-分页
export function getTableData(data) { export function getTableData(data) {
return request({ return request({
url: `${baseURL}/cc/linque/getDatasetList`, url: `${baseURL}/iot/deviceModel/instance/list`,
method: 'post',
data
})
}
// 新建设备实例
export function addDeviceInstance(data) {
return request({
url: `${baseURL}/iot/deviceModel/instance/add`,
method: 'post',
data
})
}
// 编辑设备实例
export function updateDeviceInstance(data) {
return request({
url: `${baseURL}/iot/deviceModel/instance/edit`,
method: 'post',
data
})
}
// 编辑设备实例
export function deleteDeviceInstance(data) {
return request({
url: `${baseURL}/iot/deviceModel/instance/delete`,
method: 'post', method: 'post',
data data
}) })
......
...@@ -9,22 +9,22 @@ ...@@ -9,22 +9,22 @@
> >
<el-form-item <el-form-item
label="设备名称:" label="设备名称:"
prop="input" prop="name"
> >
<el-input v-model="searchForm.input" /> <el-input v-model="searchForm.name" />
</el-form-item> </el-form-item>
<el-form-item <el-form-item
label="设备分类:" label="在线状态:"
prop="status" prop="onlineState"
> >
<el-select v-model="searchForm.status" placeholder="请选择"> <el-select v-model="searchForm.onlineState" placeholder="请选择">
<el-option label="全部" :value="null" /> <el-option label="全部" :value="null" />
<el-option label="正常" :value="0" /> <el-option label="离线" :value="0" />
<el-option label="锁定" :value="1" /> <el-option label="在线" :value="1" />
</el-select> </el-select>
</el-form-item> </el-form-item>
<el-form-item> <el-form-item>
<el-button type="primary" icon="el-icon-search" @click="getTableData">查询</el-button> <el-button type="primary" icon="el-icon-search" @click="getTableData(1)">查询</el-button>
<el-button icon="el-icon-refresh" @click="resetForm">重置</el-button> <el-button icon="el-icon-refresh" @click="resetForm">重置</el-button>
</el-form-item> </el-form-item>
</el-form> </el-form>
...@@ -32,7 +32,7 @@ ...@@ -32,7 +32,7 @@
<el-card class="margin-top-20"> <el-card class="margin-top-20">
<div class="buttons-group" style="margin-bottom: 20px"> <div class="buttons-group" style="margin-bottom: 20px">
<el-button type="primary">增加实例</el-button> <el-button type="primary" @click="showAddItem">增加实例</el-button>
</div> </div>
<el-table <el-table
:data="tableData" :data="tableData"
...@@ -45,43 +45,46 @@ ...@@ -45,43 +45,46 @@
align="center" align="center"
/> />
<el-table-column <el-table-column
prop="a" prop="deviceTypeName"
label="设备名称" label="设备类型"
/> />
<el-table-column <el-table-column
prop="b" prop="name"
label="设备描述" label="设备名称"
/>
<el-table-column
prop="c"
label="设备分类"
/> />
<el-table-column <el-table-column
prop="d" prop="description"
label="设备状态" label="设备描述"
/> />
<el-table-column <el-table-column
prop="e" prop="businessId"
label="运行状态" label="设备业务ID"
min-width="155"
/> />
<el-table-column <el-table-column
prop="f" prop="deviceModel"
label="运行时长" label="设备型号"
min-width="155"
/> />
<el-table-column <el-table-column
prop="g" prop="onlineState"
label="上次启动时间" label="在线状态"
:formatter="$_dictionaryFormat"
/> />
<el-table-column <el-table-column
prop="h" prop="onlineUpdateTime"
label="上次停机时间" label="在线状态更新时间"
min-width="150px"
:formatter="$moment"
/> />
<el-table-column <el-table-column
label="操作" label="操作"
width="320px" width="320px"
align="center" align="center"
> >
<template> <template slot-scope="scope">
<el-button <el-button
type="text" type="text"
@click="goto('/device-management/device-detail')" @click="goto('/device-management/device-detail')"
...@@ -95,8 +98,14 @@ ...@@ -95,8 +98,14 @@
@click="goto('/device-management/history-data')" @click="goto('/device-management/history-data')"
>历史数据</el-button> >历史数据</el-button>
<el-button type="text" @click="goto('/device-alarm/alarm-show')">告警历史</el-button> <el-button type="text" @click="goto('/device-alarm/alarm-show')">告警历史</el-button>
<el-button type="text">编辑</el-button> <el-button type="text" @click="editItem(scope.row)">编辑</el-button>
<el-button type="text">删除</el-button> <el-popconfirm
title="确定要删除此条记录吗?"
style="margin-left: 10px"
@onConfirm="deleteItem(scope.row.id)"
>
<el-button slot="reference" type="text">删除</el-button>
</el-popconfirm>
</template> </template>
</el-table-column> </el-table-column>
</el-table> </el-table>
...@@ -114,45 +123,74 @@ ...@@ -114,45 +123,74 @@
</el-card> </el-card>
<el-dialog <el-dialog
:title="add ? '增加系统' : '编辑系统'" :title="add ? '新增实例' : '编辑实例'"
:visible.sync="dialogVisible" :visible.sync="dialogVisible"
width="700px" width="700px"
> >
<el-form <el-form
v-if="dialogVisible" v-if="dialogVisible"
:model="addForm" ref="instanceForm"
:model="instanceForm"
label-width="90px" label-width="90px"
:rules="rules"
>
<el-form-item
label="设备名称:"
prop="name"
>
<el-input v-model="instanceForm.name" />
</el-form-item>
<el-form-item
label="设备描述:"
prop="description"
> >
<el-input
v-model="instanceForm.description"
type="textarea"
:row="2"
/>
</el-form-item>
<el-form-item <el-form-item
label="input:" label="设备业务ID:"
> >
<el-input v-model="addForm.input" /> <el-input v-model="instanceForm.businessId" />
</el-form-item> </el-form-item>
<el-form-item <el-form-item
label="status:" label="设备型号:"
> >
<el-input v-model="addForm.status" /> <el-input v-model="instanceForm.deviceModel" />
</el-form-item> </el-form-item>
</el-form> </el-form>
<span slot="footer" class="dialog-footer"> <span slot="footer" class="dialog-footer">
<el-button @click="dialogVisible = false">取 消</el-button> <el-button @click="dialogVisible = false">取 消</el-button>
<el-button type="primary" @click="saveSystem">确 定</el-button> <el-button type="primary" @click="addItem">确 定</el-button>
</span> </span>
</el-dialog> </el-dialog>
</div> </div>
</template> </template>
<script> <script>
import { getTableData } from '@/api/equipment-management/device-instance' import { getTableData, addDeviceInstance, updateDeviceInstance, deleteDeviceInstance } from '@/api/equipment-management/device-instance'
import dictionary from '@/utils/dictionary'
export default { export default {
name: 'DeviceInstance', name: 'DeviceInstance',
components: {}, components: {},
mixins: [
dictionary
],
props: {}, props: {},
data() { data() {
return { return {
searchForm: { searchForm: {
input: null, name: null,
status: null onlineState: null
},
instanceForm: {
deviceTypeId: null,
name: null,
description: null,
businessId: null,
deviceModel: null
}, },
add: true, add: true,
dialogVisible: false, dialogVisible: false,
...@@ -167,25 +205,35 @@ export default { ...@@ -167,25 +205,35 @@ export default {
total: 0 total: 0
}, },
deviceStatusDialog: false, deviceStatusDialog: false,
deviceHistoryDialog: false deviceHistoryDialog: false,
rules: {
name: [
{ required: true, message: '请输入设备名称', trigger: 'blur' }
],
description: [
{ required: true, message: '请输入设备描述', trigger: 'blur' }
]
},
currentId: null,
currentDeviceTypeId: null
} }
}, },
created() { created() {
this.tableData = [ this.getTableData(1)
{
a: 1,
d: '健康',
e: '运行中'
},
{
a: 2,
d: '故障',
e: '已停机'
}
]
}, },
mounted() {}, mounted() {},
methods: { methods: {
showAddItem() {
this.instanceForm = {
deviceTypeId: this.currentDeviceTypeId,
name: null,
description: null,
businessId: null,
deviceModel: null
}
this.dialogVisible = true
this.add = true
},
goto(url) { goto(url) {
this.$router.push(url) this.$router.push(url)
}, },
...@@ -197,9 +245,9 @@ export default { ...@@ -197,9 +245,9 @@ export default {
} }
getTableData(params) getTableData(params)
.then(res => { .then(res => {
const { records, totalSize } = res.data const { records, total } = res.data
this.tableData = records this.tableData = records
this.pageForm.total = totalSize this.pageForm.total = total
}) })
.catch(err => console.error(err)) .catch(err => console.error(err))
}, },
...@@ -210,12 +258,44 @@ export default { ...@@ -210,12 +258,44 @@ export default {
this.add = true this.add = true
this.dialogVisible = true this.dialogVisible = true
}, },
editItem() { editItem(row) {
this.add = false const { id, deviceTypeId, name, description, businessId, deviceModel } = row
this.instanceForm = {
deviceTypeId,
name,
description,
businessId,
deviceModel
}
this.currentId = id
this.dialogVisible = true this.dialogVisible = true
this.add = false
},
addItem() {
this.$refs.instanceForm.validate()
.then(_ => {
return { ...this.instanceForm }
})
.then(params => {
if (!this.add) { params.id = this.currentId }
return this.add ? addDeviceInstance(params) : updateDeviceInstance(params)
})
.then(_ => this.$message.success('操作成功'))
.then(_ => this.getTableData(this.pageForm.pageNum))
.then(_ => {
this.dialogVisible = false
})
.catch(err => {
this.$message.error(err.message)
})
},
deleteItem(id) {
deleteDeviceInstance({ id })
.then(_ => this.getTableData(this.pageForm.pageNum))
.catch(err => {
this.$message.error(err.message)
})
}, },
deleteItem(id) {},
saveSystem() {},
handleSizeChange(val) { handleSizeChange(val) {
this.pageForm.pageSize = val this.pageForm.pageSize = val
this.getTableData(1) this.getTableData(1)
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment