大区运维角色

This commit is contained in:
熊丽君
2020-12-23 10:11:55 +08:00
parent a383d64df4
commit 9aab7e0540
5 changed files with 107 additions and 23 deletions

View File

@ -60,3 +60,9 @@ export function exportEquipment(params) {
params
});
}
// 下载用户导入模板
export function importTemplate() {
return request({
url: '/system/device/importTemplate',
})
}

View File

@ -73,3 +73,11 @@ export function exportRole(query) {
params: query
})
}
// 获取角色下拉
export function roleSelect(params) {
return request({
url: '/system/role/select',
params
})
}

View File

@ -23,20 +23,24 @@
</el-form>
<el-row :gutter="10" class="mb8">
<el-col :span="1.5">
<el-button size="mini" type="primary" icon="el-icon-plus" @click="handleAdd" v-hasPermi="['hardware:device:add']">增加</el-button>
<el-button size="mini" type="primary" icon="el-icon-plus" @click="handleAdd" v-hasPermi="['system:device:add']">增加</el-button>
</el-col>
<el-col :span="1.5">
<!-- <el-button type="danger" icon="el-icon-delete" size="mini" :disabled="multiple" @click="handleDelete"
v-hasPermi="['monitor:job:remove']">批量删除</el-button> -->
<el-button type="danger" icon="el-icon-delete" size="mini" :disabled="multiple" @click="handleDelete"
v-hasPermi="['hardware:device:remove']">批量删除</el-button>
v-hasPermi="['system:device:remove']">批量删除</el-button>
</el-col>
<!-- <el-col :span="1.5">
<el-button type="danger" icon="el-icon-delete" size="mini" @click="handleClean" v-hasPermi="['monitor:job:remove']">清空
</el-button>
</el-col> -->
<el-col :span="1.5">
<el-button type="warning" icon="el-icon-download" size="mini" @click="handleExport" v-hasPermi="['hardware:device:export']">
<el-button type="info" icon="el-icon-upload2" size="mini" @click="handleImport" v-hasPermi="['system:device:import']">
</el-button>
</el-col>
<el-col :span="1.5">
<el-button type="warning" icon="el-icon-download" size="mini" @click="handleExport" v-hasPermi="['system:device:export']">导出
</el-button>
</el-col>
<right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>
@ -75,14 +79,14 @@
</el-table-column> -->
<el-table-column label="操作" align="center" class-name="small-padding fixed-width" min-width="250">
<template slot-scope="scope">
<el-button size="mini" type="text" icon="el-icon-plus" @click="handleAddnode(scope.row)" v-hasPermi="['hardware:device:add']">新增节点
<el-button size="mini" type="text" icon="el-icon-plus" @click="handleAddnode(scope.row)" v-hasPermi="['system:product:add']">新增节点
</el-button>
<el-button size="mini" type="text" icon="el-icon-edit" @click="handleUpdate(scope.row)" v-hasPermi="['hardware:device:edit']">修改
<el-button size="mini" type="text" icon="el-icon-edit" @click="handleUpdate(scope.row)" v-hasPermi="['system:device:edit']">修改
</el-button>
<el-button size="mini" type="text" icon="el-icon-view" @click="handleview(scope.row)">查看节点
<el-button size="mini" type="text" icon="el-icon-view" @click="handleview(scope.row)" v-hasPermi="['system:device:query']">查看节点
</el-button>
<el-button class="text-danger" size="mini" type="text" icon="el-icon-delete" @click="handleDelete(scope.row)"
v-hasPermi="['hardware:device:remove']">删除</el-button>
v-hasPermi="['system:device:remove']">删除</el-button>
</template>
</el-table-column>
</el-table>
@ -203,6 +207,27 @@
<el-button @click="cancel"> </el-button>
</div>
</el-dialog>
<!-- 用户导入对话框 -->
<el-dialog :title="upload.title" :visible.sync="upload.open" width="400px" append-to-body>
<el-upload ref="upload" :limit="1" accept=".xlsx, .xls" :headers="upload.headers"
:action="upload.url + '?updateSupport=' + upload.updateSupport" :disabled="upload.isUploading"
:on-progress="handleFileUploadProgress" :on-success="handleFileSuccess" :auto-upload="false" drag>
<i class="el-icon-upload"></i>
<div class="el-upload__text">
将文件拖到此处
<em>点击上传</em>
</div>
<div class="el-upload__tip" slot="tip">
<el-checkbox v-model="upload.updateSupport" />是否更新已经存在的用户数据
<el-link type="info" style="font-size:12px" @click="importTemplate">下载模板</el-link>
</div>
<div class="el-upload__tip" style="color:red" slot="tip">提示仅允许导入xlsxlsx格式文件</div>
</el-upload>
<div slot="footer" class="dialog-footer">
<el-button type="primary" @click="submitFileForm"> </el-button>
<el-button @click="upload.open = false"> </el-button>
</div>
</el-dialog>
</section>
</template>
@ -215,7 +240,8 @@ import {
update,
del,
saveDeviceFirmware,
exportEquipment
exportEquipment,
importTemplate
} from "@/api/hardware/device";
// import { nodeList, addNode, nodeInfo, delNode, nodeSelect } from "@/api/system/device/node";
import { select as productSelect } from "@/api/hardware/product";
@ -224,7 +250,7 @@ import { userSelect } from "@/api/system/user";
import { list as provinceList, getProvinceByParent } from "@/api/hardware/province";
import { productNodeList, productNodeSelect } from "@/api/hardware/productNode";
import { deviceNodeList, deviceNodeSave, deviceNodeInfo, deviceNodeDel, deviceNodeSelect } from "@/api/hardware/deviceNode";
import { getToken } from "@/utils/auth";
export default {
name: "DeviceList",
components: {
@ -282,6 +308,21 @@ export default {
pageNum: 1,
pageSize: 10,
},
// 用户导入参数
upload: {
// 是否显示弹出层(用户导入)
open: false,
// 弹出层标题(用户导入)
title: "",
// 是否禁用上传
isUploading: false,
// 是否更新已经存在的用户数据
updateSupport: 0,
// 设置上传的请求头部
headers: { Authorization: "Bearer " + getToken() },
// 上传的地址
url: process.env.VUE_APP_BASE_API + "/system/device/importData"
},
rules: {
deviceId: [
{ required: true, message: "设备SN不能为空", trigger: "blur" },
@ -363,6 +404,33 @@ export default {
this.download(response.msg);
})
},
/** 导入按钮操作 */
handleImport () {
this.upload.title = "用户导入";
this.upload.open = true;
},
/** 下载模板操作 */
importTemplate () {
importTemplate().then(response => {
this.download(response.msg);
});
},
// 文件上传中处理
handleFileUploadProgress (event, file, fileList) {
this.upload.isUploading = true;
},
// 文件上传成功处理
handleFileSuccess (response, file, fileList) {
this.upload.open = false;
this.upload.isUploading = false;
this.$refs.upload.clearFiles();
this.$alert(response.msg, "导入结果", { dangerouslyUseHTMLString: true });
this.getList();
},
// 提交上传文件
submitFileForm () {
this.$refs.upload.submit();
},
getDeviceTypeLabel (deviceType) {
let snap = '';

View File

@ -87,9 +87,9 @@
<el-form-item label="序数" prop="ordinal">
<el-input v-model="areaForm.ordinal" placeholder="请输入序数"></el-input>
</el-form-item>
<el-form-item label="运维角色" prop="ordinal">
<el-select v-model="value" placeholder="请选择">
<el-option v-for="item in signalLevelList" :key="item.value" :label="item.label" :value="item.value">
<el-form-item label="运维角色" prop="roleId">
<el-select v-model="areaForm.roleId" placeholder="请选择">
<el-option v-for="item in roleSelectList" :key="item.id" :label="item.roleName" :value="item.roleId">
</el-option>
</el-select>
</el-form-item>
@ -103,18 +103,13 @@
</template>
<script>
import {roleSelect} from '@/api/system/role'
import { list, areaSelect, getProvinceByArea, getProvinceByParent, province, save, saveProvince, del, delAreaProvince } from "@/api/hardware/area";
export default {
name: 'AreaList',
data () {
return {
value:'',
signalLevelList: [
{ label: '一级', value: '1' },
{ label: '二级', value: '2' },
{ label: '三级', value: '3' },
{ label: '四级', value: '4' }
],
roleSelectList:[],
ids: [],
// 总条数
total: 0,
@ -143,6 +138,9 @@ export default {
ordinal: [
{ required: true, message: "序数不能为空", trigger: "blur" },
],
roleId:[
{required: true, message: '请选择运维角色', trigger: 'change'}
]
},
}
},
@ -172,6 +170,7 @@ export default {
id: "",
areaName: "",
ordinal: "",
roleId:''
};
this.resetForm("areaForm");
},
@ -199,8 +198,10 @@ export default {
},
// 获取大区角色
getUser(){
console.log(111);
async getUser(){
const {code,msg,select} = await roleSelect()
if(code!==200) return this.msgError('获取运营角色失败')
this.roleSelectList=select
},
// 修改大区
@ -217,6 +218,7 @@ export default {
save(this.areaForm).then(res => {
if (200 == res.code) {
this.areaOpen = false;
this.msgSuccess("添加大区成功");
this.getList();
} else {
this.msgError(res.msg);

View File

@ -35,9 +35,9 @@ module.exports = {
// detail: https://cli.vuejs.org/config/#devserver-proxy
[process.env.VUE_APP_BASE_API]: {
// target: `http://47.115.73.110:8080`,
target: `http://121.37.250.170:8080`,
// target: `http://121.37.250.170:8080`,
// target: `http://192.168.0.129:8080`,
// target: `http://192.168.0.131:8080`,
target: `http://192.168.0.131:8080`,
changeOrigin: true,
pathRewrite: {
['^' + process.env.VUE_APP_BASE_API]: ''