固件变动

This commit is contained in:
hh
2020-11-24 11:00:42 +08:00
parent aced77422f
commit 8721abe0fe
3 changed files with 60 additions and 35 deletions

View File

@ -41,4 +41,16 @@ export function del(firmwareId) {
url: '/system/firmware/' + firmwareId, url: '/system/firmware/' + firmwareId,
method: 'delete' method: 'delete'
}) })
}
/**
* 启用固件
* @param {Number} fileId 节点nodeId
*/
export function enable(fileId) {
return request({
url: '/system/firmware/enable',
method: 'post',
params: {fileId}
})
} }

View File

@ -45,7 +45,7 @@
</el-col> </el-col>
<right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar> <right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>
</el-row> </el-row>
<el-table :data="tableData" style="width: 100%" @selection-change="handleSelectionChange"> <el-table :data="tableData" row-key="id" :tree-props="tableTreeProps" style="width: 100%" @selection-change="handleSelectionChange">
<el-table-column type="selection" width="55" align="center"> <el-table-column type="selection" width="55" align="center">
</el-table-column> </el-table-column>
<el-table-column prop="version" align="center" label="固件版本号"> <el-table-column prop="version" align="center" label="固件版本号">
@ -75,16 +75,20 @@
</el-table-column> </el-table-column>
<el-table-column prop="projectName" align="center" label="项目名称"> <el-table-column prop="projectName" align="center" label="项目名称">
</el-table-column> </el-table-column>
<!-- <el-table-column prop="status" align="center" label="状态"> <el-table-column align="center" label="状态">
</el-table-column> --> <template slot-scope="scope">{{scope.row.status == 1 ? '启用' : '禁用' }}</template>
</el-table-column>
<el-table-column prop="remark" align="center" label="备注"> <el-table-column prop="remark" align="center" label="备注">
</el-table-column> </el-table-column>
<el-table-column label="操作" align="center" class-name="small-padding fixed-width"> <el-table-column min-width="150" label="操作" align="center" class-name="small-padding fixed-width">
<template slot-scope="scope"> <template slot-scope="scope">
<el-button v-show="scope.row.status == 2" size="mini" type="text" icon="el-icon-open" @click="enable(scope.row)" v-hasPermi="['system:management:enable']">
启用
</el-button>
<el-button size="mini" type="text" icon="el-icon-edit" @click="handleUpdate(scope.row)" v-hasPermi="['system:management:edit']"> <el-button size="mini" type="text" icon="el-icon-edit" @click="handleUpdate(scope.row)" v-hasPermi="['system:management:edit']">
修改 修改
</el-button> </el-button>
<el-button class="text-danger" size="mini" type="text" icon="el-icon-delete" @click="handleDelete(scope.row)" <el-button v-show="scope.row.status == 2" class="text-danger" size="mini" type="text" icon="el-icon-delete" @click="handleDelete(scope.row)"
v-hasPermi="['system:management:remove']">删除</el-button> v-hasPermi="['system:management:remove']">删除</el-button>
</template> </template>
</el-table-column> </el-table-column>
@ -95,25 +99,25 @@
<el-dialog :title="title" :visible.sync="open" width="500px" append-to-body> <el-dialog :title="title" :visible.sync="open" width="500px" append-to-body>
<el-form ref="form" :model="form" :rules="rules" label-width="100px"> <el-form ref="form" :model="form" :rules="rules" label-width="100px">
<el-form-item label="产品" prop="productId"> <el-form-item label="产品" prop="productId">
<el-select v-model="form.productId" clearable placeholder="请选择" @change="productIdChange"> <el-select :disabled="!!form.id" v-model="form.productId" clearable placeholder="请选择" @change="productIdChange">
<el-option v-for="item in productSelectList" :key="item.id" :label="item.productName" :value="item.productId"> <el-option v-for="item in productSelectList" :key="item.id" :label="item.productName" :value="item.productId">
</el-option> </el-option>
</el-select> </el-select>
</el-form-item> </el-form-item>
<el-form-item label="节点" prop="nodeId"> <el-form-item label="节点" prop="nodeId">
<el-select v-model="form.nodeId" clearable placeholder="请选择"> <el-select :disabled="!!form.id" v-model="form.nodeId" clearable placeholder="请选择">
<el-option v-for="item in nodeSelectList" :key="item.id" :label="item.nodeName" :value="item.id"> <el-option v-for="item in nodeSelectList" :key="item.id" :label="item.nodeName" :value="item.id">
</el-option> </el-option>
</el-select> </el-select>
</el-form-item> </el-form-item>
<el-form-item label="客户" prop="userId"> <el-form-item label="客户" prop="userId">
<el-select v-model="form.userId" clearable placeholder="请选择" @change="userIdChange"> <el-select :disabled="!!form.id" v-model="form.userId" clearable placeholder="请选择" @change="userIdChange">
<el-option v-for="item in userSelectList" :key="item.id" :label="item.nickName" :value="item.userId"> <el-option v-for="item in userSelectList" :key="item.id" :label="item.nickName" :value="item.userId">
</el-option> </el-option>
</el-select> </el-select>
</el-form-item> </el-form-item>
<el-form-item label="项目" prop="projectId"> <el-form-item label="项目" prop="projectId">
<el-select v-model="form.projectId" clearable placeholder="请选择"> <el-select :disabled="!!form.id" v-model="form.projectId" clearable placeholder="请选择">
<el-option v-for="item in projectSelectList" :key="item.id" :label="item.projectName" :value="item.projectId"> <el-option v-for="item in projectSelectList" :key="item.id" :label="item.projectName" :value="item.projectId">
</el-option> </el-option>
</el-select> </el-select>
@ -147,9 +151,8 @@
<script> <script>
import { getToken } from "@/utils/auth"; import { getToken } from "@/utils/auth";
import { list, get, add, update, del } from "@/api/firmware/management"; import { list, get, add, update, del, enable } from "@/api/firmware/management";
import { select as productSelect } from "@/api/hardware/product"; import { select as productSelect } from "@/api/hardware/product";
// import { select as nodeSelect } from "@/api/hardware/node";
import { productNodeList,productNodeSelect } from "@/api/hardware/productNode"; import { productNodeList,productNodeSelect } from "@/api/hardware/productNode";
import { select as projectSelect } from "@/api/hardware/project"; import { select as projectSelect } from "@/api/hardware/project";
import { userSelect } from "@/api/system/user"; import { userSelect } from "@/api/system/user";
@ -196,6 +199,7 @@ export default {
pageNum: 1, pageNum: 1,
pageSize: 10, pageSize: 10,
}, },
tableTreeProps: {children: 'childList', hasChildren: 'hasChildren'},
// 表格数据 // 表格数据
tableData: null, tableData: null,
rules: { rules: {
@ -229,7 +233,7 @@ export default {
this.queryProductSelectList = select; this.queryProductSelectList = select;
this.productSelectList = select; this.productSelectList = select;
} else { } else {
this.$message.error(msg); this.msgError(msg);
} }
}) })
userSelect().then(({ code, msg, select }) => { userSelect().then(({ code, msg, select }) => {
@ -237,7 +241,7 @@ export default {
this.queryUserSelectList = select; this.queryUserSelectList = select;
this.userSelectList = select; this.userSelectList = select;
} else { } else {
this.$message.error(msg); this.msgError(msg);
} }
}) })
this.getList(); this.getList();
@ -249,7 +253,7 @@ export default {
if (code == 200) { if (code == 200) {
this.queryNodeSelectList = select; this.queryNodeSelectList = select;
} else { } else {
this.$message.error(msg); this.msgError(msg);
} }
}) })
}, },
@ -259,7 +263,7 @@ export default {
if (code == 200) { if (code == 200) {
this.nodeSelectList = select; this.nodeSelectList = select;
} else { } else {
this.$message.error(msg); this.msgError(msg);
} }
}) })
}, },
@ -269,7 +273,7 @@ export default {
if (code == 200) { if (code == 200) {
this.queryProjectSelectList = select; this.queryProjectSelectList = select;
} else { } else {
this.$message.error(msg); this.msgError(msg);
} }
}) })
}, },
@ -279,7 +283,7 @@ export default {
if (code == 200) { if (code == 200) {
this.projectSelectList = select; this.projectSelectList = select;
} else { } else {
this.$message.error(msg); this.msgError(msg);
} }
}) })
}, },
@ -290,11 +294,11 @@ export default {
// 文件上传成功处理 // 文件上传成功处理
handleFileSuccess (res, file, fileList) { handleFileSuccess (res, file, fileList) {
if (res.code == 200) { if (res.code == 200) {
this.$message.success(res.msg); this.msgSuccess(res.msg);
let { fileName, length, url, crc } = res; let { fileName, length, url, crc } = res;
this.form = Object.assign({}, this.form, { fileName, length, filePath: url, crcCode: crc }); this.form = Object.assign({}, this.form, { fileName, length, filePath: url, crcCode: crc });
} else { } else {
this.$message.error(res.msg); this.msgError(res.msg);
} }
this.upload.isUploading = false; this.upload.isUploading = false;
this.$refs.upload.clearFiles(); this.$refs.upload.clearFiles();
@ -335,10 +339,23 @@ export default {
this.open = true; this.open = true;
this.title = "添加固件"; this.title = "添加固件";
}, },
// 启用固件
enable(row) {
enable(row.id).then(({code,msg})=> {
if (200 == code) {
this.msgSuccess(msg);
this.getList();
} else {
this.msgError(msg);
}
})
},
/** 修改按钮操作 */ /** 修改按钮操作 */
handleUpdate (row) { handleUpdate (row) {
this.reset(); this.reset();
this.form = row; this.productIdChange(row.productId);
this.userIdChange(row.userId);
this.form = Object.assign({}, row);
this.open = true; this.open = true;
this.title = "修改固件"; this.title = "修改固件";
}, },
@ -354,7 +371,7 @@ export default {
this.open = false; this.open = false;
this.getList(); this.getList();
} else { } else {
this.msgSuccess(res.msg); this.msgError(res.msg);
} }
}); });
} else { } else {
@ -364,7 +381,7 @@ export default {
this.open = false; this.open = false;
this.getList(); this.getList();
} else { } else {
this.msgSuccess(res.msg); this.msgError(res.msg);
} }
}); });
} }
@ -388,7 +405,7 @@ export default {
this.getList(); this.getList();
this.msgSuccess("删除成功"); this.msgSuccess("删除成功");
} else { } else {
this.msgSuccess(res.msg); this.msgError(res.msg);
} }
}) })
.catch((res) => { }); .catch((res) => { });

View File

@ -50,8 +50,11 @@
<el-form-item label="项目名称" prop="projectName"> <el-form-item label="项目名称" prop="projectName">
<el-input v-model="form.projectName" placeholder="请输入项目名称" /> <el-input v-model="form.projectName" placeholder="请输入项目名称" />
</el-form-item> </el-form-item>
<el-form-item label="项目SN" prop="projectId">
<el-input :disabled="!!form.id" v-model="form.projectId" placeholder="请输入项目SN" />
</el-form-item>
<el-form-item label="客户" prop="userId"> <el-form-item label="客户" prop="userId">
<el-select v-model="form.userId" clearable placeholder="请选择" @change="userIdChange"> <el-select v-model="form.userId" clearable placeholder="请选择">
<el-option v-for="item in userSelectList" :key="item.id" :label="item.nickName" :value="item.userId"> <el-option v-for="item in userSelectList" :key="item.id" :label="item.nickName" :value="item.userId">
</el-option> </el-option>
</el-select> </el-select>
@ -102,6 +105,9 @@ export default {
projectName: [ projectName: [
{ required: true, message: "项目名称不能为空", trigger: "blur" }, { required: true, message: "项目名称不能为空", trigger: "blur" },
], ],
projectId: [
{ required: true, message: "项目SN不能为空", trigger: "blur" },
],
userId: [ userId: [
{ required: true, message: "客户不能为空", trigger: "blur" }, { required: true, message: "客户不能为空", trigger: "blur" },
], ],
@ -172,7 +178,7 @@ export default {
/** 修改按钮操作 */ /** 修改按钮操作 */
handleUpdate (row) { handleUpdate (row) {
this.reset(); this.reset();
this.form = row; this.form = Object.assign({}, row);
this.open = true; this.open = true;
this.title = "修改项目"; this.title = "修改项目";
}, },
@ -229,16 +235,6 @@ export default {
} }
}); });
}, },
userIdChange(userId) {
delete this.form.projectId;
userSelect({ userId }).then(({ code, msg, select }) => {
if (code == 200) {
this.userSelectList = select;
} else {
this.$message.error(msg);
}
})
},
} }
} }
</script> </script>