Commit ca654d32 authored by co_dengxiongwen's avatar co_dengxiongwen

页面调整

parent 82866b16
......@@ -67,8 +67,8 @@
</div>
<div class="map_right">
<div>
//- <iframe :src="src" ref="iframe"></iframe>
<iframe src="http://10.20.174.62:8088/map/index.html" ref="iframe1"></iframe>
<iframe :src="src" ref="iframe"></iframe>
//- <iframe src="http://10.20.174.62:8088/map/index.html" ref="iframe1"></iframe>
</div>
</div>
</el-card>
......@@ -157,16 +157,14 @@ export default {
resource: {}, //当前选择的资源点
clickItem: {},
resourceTypeList: [],
stationId: localStorage.getItem('stationId'),
stationId: '',
checkedData: {
stationId: '',
stationName: '',
subSystem: '',
tierId: '',
tierName: '',
resourceId: '',
sId: localStorage.getItem('stationId'),
subCode: '01'
sId: ''
},
currentNode: {},
dragAble: false,
......
<template lang="pug">
el-dialog( :close-on-click-modal='false' :visible.sync='visible' :append-to-body='true' :before-close="handleClose")
div.title-bold(slot='title') {{dataForm.id ? '修改' :'新增'}}
el-form(:model='dataForm' :rules='dataRule' ref='dataForm' label-width='100px' v-loading='dataLoading')
el-row(:span='24')
el-col(:span='24')
el-form-item(label='数据源url:', prop='url')
el-input(v-model='dataForm.url', placeholder='请填写数据源url(包含地址端口以及参数)' clearable)
el-col(:span='12')
el-form-item(label='用户名:', prop='username')
el-input(v-model='dataForm.username', placeholder='请填写数据源用户名' clearable)
el-col(:span='12' )
el-form-item(label='密码:', prop='password')
el-input(, v-model='dataForm.password', placeholder='请填写密码' clearable)
el-col(:span='12' )
el-form-item(label='站点id:', prop='stationId')
el-input(, v-model='dataForm.stationId', placeholder='请填写站点id' clearable)
el-col(:span='12' )
el-form-item(label='数据源ip:', prop='ip')
el-input(v-model='dataForm.ip', placeholder='请填写数据源服务器ip' clearable)
el-col(:span='12')
el-form-item(label='数据源端口:', prop='port')
el-input(v-model='dataForm.port', placeholder='请填写数据源端口' clearable)
el-col(:span='12')
el-form-item(label='说明信息:', prop='detail')
el-input(v-model='dataForm.detail' placeholder='请填写说明信息' clearable)
div(slot='footer' align='center')
el-button(type='primary' size='medium' @click='handleClose') 取消
el-button(type='primary' size='medium' @click='dataFormSubmit()' v-prevent-re-click) 保存
</template>
<script>
export default {
data() {
return {
visible: false,
dataLoading: false,
dataForm: {},
dataRule: {
url: [
{ required: true, message: '数据源url不能为空', trigger: ['change', 'blur'] },
{ min: 1, max: 200, message: '长度在 1 到 200 个字符', trigger: ['change', 'blur'] }
],
username: [
{ required: true, message: '数据源用户名不能为空', trigger: ['change', 'blur'] },
{ min: 1, max: 100, message: '长度在 1 到 100 个字符', trigger: ['change', 'blur'] }
],
password: [
{ required: true, message: '密码不能为空', trigger: ['change', 'blur'] },
{ min: 1, max: 100, message: '长度在 1 到 100 个字符', trigger: ['change', 'blur'] }
],
stationId: [
{ required: true, message: '站点id不能为空', trigger: ['change', 'blur'] },
{ min: 1, max: 25, message: '长度在 1 到 25 个字符', trigger: ['change', 'blur'] }
],
ip: [
{ min: 1, max: 100, message: '长度在 1 到 100 个字符', trigger: ['change', 'blur'] }
],
port: [
{ min: 1, max: 10, message: '长度在 1 到 10 个字符', trigger: ['change', 'blur'] }
],
detail: [
{ min: 1, max: 100, message: '长度在 1 到 100 个字符', trigger: ['change', 'blur'] }
]
}
}
},
mounted() {
},
methods: {
init(row) {
this.visible = true
this.dataForm = { ...row }
},
//关闭前
handleClose() {
this.$refs.dataForm.resetFields()
this.visible = false
},
// 表单提交
dataFormSubmit() {
this.$refs['dataForm'].validate(valid => {
if (valid) {
this.dataLoading = true
this.$http({
url: this.$http.adornUrl(
`/sysDatasource/${!this.dataForm.id ? 'save' : 'update'}`
),
method: 'post',
data: this.dataForm
}).then(data => {
console.log(data)
if (data && data.code === 0) {
this.$message({
message: '操作成功',
type: 'success',
duration: 1500
})
this.dataLoading = false
this.handleClose()
this.$emit('refreshdatalist')
}
}).catch(data => {
this.$message.error(data.msg)
})
}
})
}
}
}
</script>
<style>
.el-table__header {
width: 100% !important;
}
.el-table__body {
width: 100% !important;
}
</style>
<template lang='pug'>
el-container(style="padding:0px;height:77.6vh;")
el-header(style='height:42px;line-height:42px;border: 1px solid rgba(195, 195, 195, 1);background: #f4f4f4;')
span.title-bold.title-left-color() 目标数据源管理
el-main.box_main
el-card()
div.tableCard()
el-form(:inline="true" :model="dataForm" size="mini" )
el-form-item( label="数据源url:" )
el-input( v-model="dataForm.url" placeholder="数据源url" clearable)
el-form-item( label="用户名:" )
el-input.input_width( v-model="dataForm.username" placeholder="数据源用户名" clearable)
el-form-item(label="数据源ip:")
el-input.input_width( v-model="dataForm.ip" placeholder="数据源ip" clearable)
el-form-item( label="说明信息:")
el-input.input_width( v-model="dataForm.detail" placeholder="说明信息" clearable)
el-button(@click="getDataList" icon="el-icon-search" type="primary" size="mini") 查询
el-button(@click="reSet()" type="primary" size="mini" icon="el-icon-refresh-right") 重置
el-button( v-if="isAuth('sys:user:save')" style="float:right;" size="mini" icon="el-icon-plus" type="primary" @click="addOrUpdateHandle()") 新增
el-table(:data="dataList" @sort-change='sortChange' style="width:100%;" v-loading="dataListLoading" :stripe="true" :header-cell-style="{background:'#EEF8FF',color:'#333333'}")
el-table-column( type='index', header-align='center', align='center', label='序号')
template(scope="scope")
span {{scope.$index+(pageIndex - 1) * pageSize + 1}}
el-table-column( prop="url" header-align="center" align="center" label="数据源url" sortable='custom' width='300')
//template(slot-scope='scope')
el-table-column( prop="username" header-align="center" align="center" label="用户名" sortable='custom')
el-table-column( prop="password" header-align="center" align="center" label="密码" sortable='custom')
el-table-column( prop="stationId" columnKey="station_id" header-align="center" align="center" label="站点id" sortable='custom')
el-table-column( prop="ip" header-align="center" align="center" label="数据源服务器ip" sortable='custom' width='200')
el-table-column( prop="port" header-align="center" align="center" label="数据源端口" sortable='custom')
el-table-column( prop="detail" header-align="center" align="center" label="说明信息" sortable='custom' width='200')
//template(slot-scope='scope')
font(:title="scope.row.url") {{scope.row.detail | ellipsis}}
el-table-column( prop header-align="center" align="center" label="操作" width='200')
template( slot-scope="scope")
//el-button(type="success" plain size="mini" @click="queryHandle(scope.row)") 详情
el-button(type="text" size="mini" v-if="isAuth('sys:datasource:update')" @click="addOrUpdateHandle(scope.row)") 修改
el-button(type="text" size="mini" v-if="isAuth('sys:datasource:delete')" @click="deleteHandle(scope.row.id)") 删除
el-footer.box_footer
el-pagination(@size-change="sizeChangeHandle" background @current-change="currentChangeHandle" :current-page="pageIndex" :page-sizes="[10, 20, 50, 100]" :page-size="pageSize" :total="totalPage" layout="total, sizes, prev, pager, next, jumper")
//- 弹窗, 新增 / 修改
add-or-update(v-if="addOrUpdateVisible" ref="addOrUpdate" @refreshdatalist="getDataList")
</template>
<script>
import AddOrUpdate from './datasource-add-or-update'
export default {
name: 'sys-datasource',
filters: {
ellipsis(value) {
if (!value) return ''
if (value.length > 55) {
return value.slice(0, 55) + '...'
}
return value
}
},
data() {
return {
dataForm: {},
dataList: [],
pageIndex: 1,
pageSize: 10,
totalPage: 0,
dataListLoading: false,
dataListSelections: [],
resetPasswordVisible: false,
addOrUpdateVisible: false,
queryDetailVisible: false,
configRoleVisible: false,
allJob: []
}
},
components: {
AddOrUpdate
// queryDetail,
// configRole,
// resetPassword
},
watch: {
totalPage() { //注意这个函数的名字必须和你监听data中的属性的名字一样,这样才能当你data中的属性发生变化时,触发这个函数
let pages = Math.ceil(this.totalPage / this.pageSize)//新数据总页数
//总页数小于当前页数则重新加载列表数据
if (pages < this.pageIndex) {
this.pageIndex = pages || 1
this.getDataList()//获取表格数据的方法
}
}
},
created() {
// this.getList()
this.getDataList()
// this.getAllJob()
},
methods: {
//重置
reSet() {
this.pageIndex = 1
this.dataForm = {}
this.getDataList()
},
//排序
sortChange(column) {
if (column.order === 'descending') {
this.order = 'desc'
} else {
this.order = 'asc'
}
if (column.column.columnKey) {
this.sort = column.column.columnKey
} else {
this.sort = column.prop
}
this.getDataList()
},
// 获取数据列表
getDataList() {
this.dataListLoading = true
this.$http({
url: this.$http.adornUrl('/sysDatasource/list'),
method: 'post',
data: {
...this.dataForm,
page: this.pageIndex,
size: this.pageSize,
sort: this.sort,
order: this.order
}
}).then(data => {
// console.log('data', data)
if (data && data.code === 0) {
this.dataList = data.page.records
this.totalPage = data.page.total
} else {
this.dataList = []
this.totalPage = 0
}
this.dataListLoading = false
})
},
// 每页数
sizeChangeHandle(val) {
this.pageSize = val
this.pageIndex = 1
this.getDataList()
},
// 当前页
currentChangeHandle(val) {
this.pageIndex = val
this.getDataList()
},
// 新增 / 修改
addOrUpdateHandle(id) {
this.addOrUpdateVisible = true
this.$nextTick(() => {
this.$refs.addOrUpdate.init(id)
})
},
// 删除
deleteHandle(id) {
this.$confirm(`确认删除用户?`, '提示', {
confirmButtonText: '确定',
cancelButtonText: '取消',
type: 'warning',
closeOnClickModal: false
}).then(() => {
this.$http({
url: this.$http.adornUrl('/sysDatasource/delete'),
method: 'post',
data: [id]
}).then(data => {
if (data && data.code === 0) {
this.$message({
message: '操作成功',
type: 'success',
duration: 1500,
onClose: () => {
this.getDataList()
}
})
} else {
this.$message.error(data.msg)
}
})
})
}
}
}
</script>
<style lang='scss'>
</style>
......@@ -76,11 +76,11 @@ export default {
tableHeader: [
{ label: '字典项名称', prop: 'name' },
{ label: '字典项值', prop: 'value' },
{ label: '排序值', prop: 'sortValue' },
{ label: '排序值', prop: 'sortValue' }
],
tableOption: {
border: false, //是否边框
maxHeight: 500, //高度
maxHeight: 500 //高度
},
listTitle: '',
flag: true,
......@@ -92,7 +92,7 @@ export default {
pageIndex: 1,
pageSize: 10,
totalPage: 0,
stationId: localStorage.getItem('stationId'),
stationId: '',
sort: 'sort_value',
order: 'asc',
addOrUpdateVisible: false,
......@@ -108,35 +108,35 @@ export default {
min: 1,
max: 30,
message: '长度在 1 到 30 个字符',
trigger: 'blur',
},
trigger: 'blur'
}
],
value: [
{
min: 1,
max: 20,
message: '长度在 1 到 20 个字符',
trigger: 'blur',
},
trigger: 'blur'
}
],
sortValue: [
{ required: true, message: '排序值不能为空' },
// { min: 1, max: 10, message: '排序值超出范围', trigger: 'blur' },
{ type: 'number', message: '排序值必须为数字' },
{ validator: validateNumber, trigger: ['blur', 'change'] },
{ validator: validateNumber, trigger: ['blur', 'change'] }
// { pattern: /^[1-9]\d*$/, message: '只能输入正整数', trigger: 'change' }
],
]
},
data: [],
defaultProps: {
children: 'children',
label: 'name',
id: 'id',
},
id: 'id'
}
}
},
components: {
dragTable,
dragTable
},
watch: {
totalPage() {
......@@ -147,7 +147,7 @@ export default {
this.pageIndex = pages || 1
this.getDataList() //获取表格数据的方法
}
},
}
},
created() {
this.getList()
......@@ -160,8 +160,8 @@ export default {
url: this.$http.adornUrl('/sysDictionary/dictionaryAllList'),
method: 'GET',
params: {
stationId: this.stationId,
},
stationId: this.stationId
}
}).then((data) => {
if (data) {
this.data = data.list
......@@ -205,8 +205,8 @@ export default {
parentId: this.dicId,
sort: sort || 'sort_value',
order,
stationId: this.stationId,
},
stationId: this.stationId
}
}).then((data) => {
if (data) {
this.dataList = data.page.rows
......@@ -224,12 +224,12 @@ export default {
confirmButtonText: '确定',
cancelButtonText: '取消',
type: 'warning',
closeOnClickModal: false,
closeOnClickModal: false
}).then(() => {
this.$http({
url: this.$http.adornUrl('/sysDictionary/deleteById'),
method: 'post',
data: row,
data: row
}).then((res) => {
if (res && res.code === 0) {
this.$message({
......@@ -238,7 +238,7 @@ export default {
duration: 1500,
onClose: () => {
this.getDataList()
},
}
})
} else {
this.$message.error(res.msg)
......@@ -271,7 +271,7 @@ export default {
`/sysDictionary/${!this.ruleForm.id ? 'save' : 'update'}`
),
method: 'post',
data: this.ruleForm,
data: this.ruleForm
}).then((data) => {
if (data && data.code === 0) {
this.$message({
......@@ -288,7 +288,7 @@ export default {
) {
this.getList()
}
},
}
})
} else {
this.clickFlag = false
......@@ -322,7 +322,7 @@ export default {
{
confirmButtonText: '确定',
cancelButtonText: '取消',
type: 'warning',
type: 'warning'
}
)
.then(() => {
......@@ -331,11 +331,11 @@ export default {
.catch(() => {
this.$message({
type: 'info',
message: '已取消退出',
message: '已取消退出'
})
})
},
},
}
}
}
</script>
<style lang="scss" scoped>
......
......@@ -27,7 +27,7 @@ export default {
levelList: [
{ id: 1, name: '特别重大' },
{ id: 2, name: '重大' },
{ id: 3, name: '一般' },
{ id: 3, name: '一般' }
],
dataRule: {
eventName: [
......@@ -36,8 +36,8 @@ export default {
min: 1,
max: 50,
message: '长度在 1 到 50 个字符',
trigger: 'blur',
},
trigger: 'blur'
}
],
eventCode: [
{ required: true, message: '报警类型编码不能为空', trigger: 'blur' },
......@@ -45,13 +45,13 @@ export default {
min: 1,
max: 20,
message: '长度在 1 到 20 个字符',
trigger: 'blur',
},
trigger: 'blur'
}
],
eventLevel: [
{ required: true, message: '报警类型等级不能为空', trigger: 'blur' },
],
},
{ required: true, message: '报警类型等级不能为空', trigger: 'blur' }
]
}
}
},
watch: {
......@@ -61,8 +61,8 @@ export default {
this.$refs.dataForm.resetFields()
}
},
deep: true,
},
deep: true
}
},
methods: {
init(row, resourceType) {
......@@ -76,7 +76,7 @@ export default {
eventCode: '',
eventLevel: '',
resourceType: resourceType,
stationId: localStorage.getItem('stationId'),
stationId: ''
}
}
},
......@@ -90,7 +90,7 @@ export default {
`/linkEvent/${!this.dataForm.id ? 'save' : 'update'}`
),
method: 'post',
data: this.dataForm,
data: this.dataForm
}).then((data) => {
if (data && data.code === 0) {
this.$message({
......@@ -100,7 +100,7 @@ export default {
onClose: () => {
this.visible = false
this.$emit('refreshdatalist')
},
}
})
} else {
this.clickFlag = false
......@@ -118,7 +118,7 @@ export default {
{
confirmButtonText: '确定',
cancelButtonText: '取消',
type: 'warning',
type: 'warning'
}
)
.then(() => {
......@@ -127,11 +127,11 @@ export default {
.catch(() => {
this.$message({
type: 'info',
message: '已取消退出',
message: '已取消退出'
})
})
},
},
}
}
}
</script>
<style>
......
......@@ -49,7 +49,7 @@ export default {
resourceType: '',
leftLoading: false,
rightLoading: false,
stationId: localStorage.getItem('stationId'),
stationId: '',
resourceData: [],
eventData: [],
addOrUpdateVisible: false,
......@@ -60,17 +60,17 @@ export default {
tableHeader: [
{ label: '报警类型编码', prop: 'eventCode', sort: false },
{ label: '报警类型名称', prop: 'eventName', sort: false },
{ label: '报警类型等级', prop: 'eventLevel', sort: false, slot: true },
{ label: '报警类型等级', prop: 'eventLevel', sort: false, slot: true }
],
tableOption: {
border: false, //是否边框
maxHeight: 500, //高度
},
maxHeight: 500 //高度
}
}
},
components: {
AddOrUpdate,
dragTable,
dragTable
},
watch: {
totalPage() {
......@@ -81,7 +81,7 @@ export default {
this.pageIndex = pages || 1
this.getEvent() //获取表格数据的方法
}
},
}
},
created() {
this.checkList = [...this.tableHeader]
......@@ -121,8 +121,8 @@ export default {
data: {
page: this.pageIndex,
rows: this.pageSize,
resourceType: this.resourceType,
},
resourceType: this.resourceType
}
}).then((data) => {
if (data && data.code === 0) {
console.log('--data--', data.page.rows)
......@@ -137,7 +137,7 @@ export default {
this.$http({
url: this.$http.adornUrl(`/sysDictionary/getResourceTypeDicList`),
method: 'get',
params: { stationId: this.stationId },
params: { stationId: this.stationId }
})
.then((data) => {
if (data && data.code === 0) {
......@@ -171,13 +171,13 @@ export default {
confirmButtonText: '确定',
cancelButtonText: '取消',
type: 'warning',
closeOnClickModal: false,
closeOnClickModal: false
})
.then(() => {
this.$http({
url: this.$http.adornUrlAlarm(`/linkEvent/deleteByFlag`),
method: 'post',
data: this.$http.adornData(ids, false),
data: this.$http.adornData(ids, false)
}).then((data) => {
if (data && data.code === 0) {
this.$message({
......@@ -186,7 +186,7 @@ export default {
duration: 1500,
onClose: () => {
this.getEvent()
},
}
})
} else {
this.$message.error(data.msg)
......@@ -196,11 +196,11 @@ export default {
.catch(() => {
this.$message({
type: 'info',
message: '已取消删除',
message: '已取消删除'
})
})
},
},
}
}
}
</script>
......
......@@ -37,22 +37,13 @@
</template>
</el-table-column>
//- 操作项
<template slot-scope="scope">
<el-button class="el-table-btn" type="text">编辑</el-button>
<el-button class="el-table-btn" type="text">查看</el-button>
<el-button class="el-table-btn" type="text">相关用户</el-button>
</template>
</drag-table>
el-footer.box_footer
el-pagination(@size-change="sizeChangeHandle" background @current-change="currentChangeHandle" :current-page="pageIndex" :page-sizes="[10, 20, 50, 100]" :page-size="pageSize" :total="totalPage" layout="total, sizes, prev, pager, next, jumper")
</template>
<script>
import Sortable from 'sortablejs'
import dragTable from '../../components/tab'
let that
export default {
filters: {
ellipsis (value) {
......@@ -107,11 +98,10 @@ export default {
}
},
created () {
that = this
this.pageIndex = 1
this.getDataList()
},
mounted(){
mounted() {
this.checkList = [...this.tableHeader]
},
methods: {
......@@ -140,7 +130,7 @@ export default {
endTime: this.dataForm.endTime,
sort: sort,
order: order,
stationId: localStorage.getItem('stationId')
stationId: ''
})
}).then(data => {
//console.log('data', data)
......
......@@ -50,11 +50,11 @@ export default {
{ label: '参数名称', prop: 'name' }, //是否插槽
{ label: '参数描述', prop: 'remark' },
{ label: '当前值(双击修改)', prop: 'value', slot: true },
{ label: '参数说明', prop: 'introduction' },
{ label: '参数说明', prop: 'introduction' }
],
tableOption: {
border: false, //是否边框
maxHeight: 500, //高度
maxHeight: 500 //高度
},
visible: false,
title: null,
......@@ -64,11 +64,11 @@ export default {
pageSize: 10,
totalPage: 0,
ruleForm: {},
rules: null, //添加规则
rules: null //添加规则
}
},
components: {
dragTable,
dragTable
},
watch: {
totalPage() {
......@@ -79,7 +79,7 @@ export default {
this.pageIndex = pages || 1
this.getDataList() //获取表格数据的方法
}
},
}
},
mounted() {
this.getDataList()
......@@ -106,12 +106,12 @@ export default {
url: this.$http.adornUrl('/sysParams/paramsAllList'),
method: 'post',
params: {
stationId: localStorage.getItem('stationId'),
stationId: '',
page: this.pageIndex,
limit: this.pageSize,
sort: this.sort,
order: this.order,
},
order: this.order
}
}).then((data) => {
if (data) {
this.tableData = data.page.records
......@@ -162,9 +162,9 @@ export default {
}
}
},
trigger: 'blur',
},
],
trigger: 'blur'
}
]
}
} else {
this.ruleForm = {}
......@@ -180,7 +180,7 @@ export default {
this.$http({
url: this.$http.adornUrl(`/sysParams/update`),
method: 'post',
data: this.ruleForm,
data: this.ruleForm
}).then((data) => {
if (data && data.code === 0) {
this.$message({
......@@ -190,7 +190,7 @@ export default {
onClose: () => {
this.visible = false
this.getDataList()
},
}
})
} else {
this.$message.error(data)
......@@ -221,7 +221,7 @@ export default {
this.$confirm('确认取消?', '参数列表', {
confirmButtonText: '确定',
cancelButtonText: '取消',
type: 'warning',
type: 'warning'
})
.then(() => {
this.closeForm()
......@@ -229,10 +229,10 @@ export default {
.catch(() => {
this.$message({
type: 'info',
message: '已取消退出',
message: '已取消退出'
})
})
},
},
}
}
}
</script>
......@@ -140,7 +140,7 @@ export default {
tierId: '',
tierName: '',
resourceId: '',
sId: localStorage.getItem('stationId')
sId: ''
},
currentNode: {},
dragAble: false,
......
<template >
<template>
<div class="patrol_spot">
<el-container style="padding:0px;height:77.6vh;">
<el-aside width='333px' style='height:85vh'>
<el-card class="treeCard tree-container" :body-style="{ padding: '0px' }">
<el-aside width="333px" style="height:85vh">
<el-card
class="treeCard tree-container"
:body-style="{ padding: '0px' }"
>
<div class="monitor_point_left_top">
<div class="title-bold monitor_point_left_topL" slot='header'>资源点列表</div>
<div class="title-bold monitor_point_left_topL" slot="header">
资源点列表
</div>
<div class="monitor_point_left_topR">
<el-input suffix-icon="el-icon-search" size="mini" @keyup.enter.native="initTreeStationMap" v-model="searchInput" clearable></el-input>
<el-input
suffix-icon="el-icon-search"
size="mini"
@keyup.enter.native="initTreeStationMap"
v-model="searchInput"
clearable
></el-input>
</div>
</div>
<div class="tree-container">
<el-tree class="dic_tree" :data="treeData" ref='tree' :accordion='true'
:highlight-current='true' :props="defaultProps" :default-expand-all='false'
@node-click="handleNodeClick" :default-expanded-keys='defaultExpandedKeys'
<el-tree
class="dic_tree"
:data="treeData"
ref="tree"
:accordion="true"
:highlight-current="true"
:props="defaultProps"
:default-expand-all="false"
@node-click="handleNodeClick"
:default-expanded-keys="defaultExpandedKeys"
:filter-node-method="filterNode"
:node-key='nodeKey'>
<span class="custom-tree-node" style='width:85%;line-height: 18px;' slot-scope="{ node, data }">
<span v-if="node.data.level != 6 && node.data.iconB" class="el-icon-wq-treeIcon1 xa-icon"></span>
<span v-if="node.data.level != 6 && !node.data.iconB" class="el-icon-wq-treeIcon xa-icon"></span>
<span v-if="node.data.level == 6 && node.data.type=='枪机'" class="el-icon-wq-treeQiang xa-icon"></span>
<span v-if="node.data.level == 6 && node.data.type!='枪机'" class="el-icon-wq-treeQiu xa-icon"></span>
<span>&nbsp;{{node.label}}</span>
<span v-if=" node.data.iconB" class='el-icon-my-treeFlag'></span>
:node-key="nodeKey"
>
<span
class="custom-tree-node"
style="width:85%;line-height: 18px;"
slot-scope="{ node, data }"
>
<span
v-if="node.data.level != 6 && node.data.iconB"
class="el-icon-wq-treeIcon1 xa-icon"
></span>
<span
v-if="node.data.level != 6 && !node.data.iconB"
class="el-icon-wq-treeIcon xa-icon"
></span>
<span
v-if="node.data.level == 6 && node.data.type == '枪机'"
class="el-icon-wq-treeQiang xa-icon"
></span>
<span
v-if="node.data.level == 6 && node.data.type != '枪机'"
class="el-icon-wq-treeQiu xa-icon"
></span>
<span>&nbsp;{{ node.label }}</span>
<span v-if="node.data.iconB" class="el-icon-my-treeFlag"></span>
</span>
</el-tree>
</div>
......@@ -32,19 +66,37 @@
<el-container class="el_container-style">
<el-header class="el_header-style">
<span class="title-bold title-left-color">预置点维护</span>
<el-popover placement="bottom" width="150" >
<el-button slot="reference" size='mini' type="primary" icon="el-icon-s-tools" style='float:right;transform:translateY(6px)'> 筛选</el-button>
<el-popover placement="bottom" width="150">
<el-button
slot="reference"
size="mini"
type="primary"
icon="el-icon-s-tools"
style="float:right;transform:translateY(6px)"
>
筛选</el-button
>
<el-checkbox-group v-model="checkList">
<el-col :span="24">
<el-checkbox v-for="(item,index) in tableHeader" :label="item" :key="index" >
{{item.label}}
<el-checkbox
v-for="(item, index) in tableHeader"
:label="item"
:key="index"
>
{{ item.label }}
</el-checkbox>
</el-col>
</el-checkbox-group>
</el-popover>
<div style="float:right; margin-right:5px;">
<el-button type="primary" size="mini" @click="addClick" v-if="isAuth('sys:preset:add')" icon='el-icon-plus'
style="float:left;margin-top:6px">新增
<el-button
type="primary"
size="mini"
@click="addClick"
v-if="isAuth('sys:preset:add')"
icon="el-icon-plus"
style="float:left;margin-top:6px"
>新增
</el-button>
</div>
</el-header>
......@@ -72,45 +124,77 @@
</template>
</el-table-column>
</el-table> -->
<drag-table :data="dataList" :header="checkList" :option="tableOption" @getDataList="getDataList" v-loading="dataListLoading" :operationNum="3" :isShowOperate="true">
<drag-table
:data="dataList"
:header="checkList"
:option="tableOption"
@getDataList="getDataList"
v-loading="dataListLoading"
:operationNum="3"
:isShowOperate="true"
>
<!-- 插槽 -->
<el-table-column slot="fixed" fixed prop="" label="序号" width="80" header-align="center" align="center" >
<el-table-column
slot="fixed"
fixed
prop=""
label="序号"
width="80"
header-align="center"
align="center"
>
<template slot-scope="scope">
{{scope.$index+(pageIndex - 1) * pageSize + 1}}
{{ scope.$index + (pageIndex - 1) * pageSize + 1 }}
</template>
</el-table-column>
<!-- 操作项 -->
<template slot-scope="scope">
<el-button type="text" v-if="isAuth('sys:preset:update')" @click="editClick(scope.row)">编辑</el-button>
<el-button type="text" v-if="isAuth('sys:preset:delete')" @click="removeClick(scope.row)">删除</el-button>
<el-button
type="text"
v-if="isAuth('sys:preset:update')"
@click="editClick(scope.row)"
>编辑</el-button
>
<el-button
type="text"
v-if="isAuth('sys:preset:delete')"
@click="removeClick(scope.row)"
>删除</el-button
>
</template>
</drag-table>
</el-card>
</el-main>
<el-footer class="box_footer">
<el-pagination background @size-change="sizeChangeHandle"
<el-pagination
background
@size-change="sizeChangeHandle"
@current-change="currentChangeHandle"
:current-page="pageIndex" :page-sizes="[10, 20, 50, 100]"
:page-size="pageSize" :total="totalPage"
layout="total, sizes, prev, pager, next, jumper"></el-pagination>
:current-page="pageIndex"
:page-sizes="[10, 20, 50, 100]"
:page-size="pageSize"
:total="totalPage"
layout="total, sizes, prev, pager, next, jumper"
></el-pagination>
</el-footer>
</el-container>
<query-detail ref='queryDetail' @closeQ="closeQueryDetailVisible"></query-detail>
<query-detail
ref="queryDetail"
@closeQ="closeQueryDetailVisible"
></query-detail>
</el-container>
</div>
</template>
<script>
import QueryDetail from './query-detail'
// import { getUUID } from '@/util'
import Vue from 'vue'
import dragTable from '../../components/tab'
import QueryDetail from './query-detail'
// import { getUUID } from '@/util'
import Vue from 'vue'
import dragTable from '../../components/tab'
export default {
export default {
name: 'sys-user',
filters: {
ellipsis(value) {
......@@ -157,23 +241,18 @@
stationMap: {}, //当前选择的层
resource: {}, //当前选择的资源点
checkedData: {
lineId: '',
lineName: '',
stationId: '',
stationName: '',
subSystem: '',
tierId: '',
tierName: '',
resourceId: '',
sId: localStorage.getItem('stationId'),
subCode: '02',
sId: '',
layerId: ''
},
currentNode: {},
activeName: '1',
searchInput: '',
treeOnList: null
}
},
components: {
......@@ -184,12 +263,13 @@
searchInput(val) {
this.$refs.tree.filter(val)
},
totalPage() { //注意这个函数的名字必须和你监听data中的属性的名字一样,这样才能当你data中的属性发生变化时,触发这个函数
let pages = Math.ceil(this.totalPage / this.pageSize)//新数据总页数
totalPage() {
//注意这个函数的名字必须和你监听data中的属性的名字一样,这样才能当你data中的属性发生变化时,触发这个函数
let pages = Math.ceil(this.totalPage / this.pageSize) //新数据总页数
//总页数小于当前页数则重新加载列表数据
if (pages < this.pageIndex) {
this.pageIndex = pages || 1
this.getDataList()//获取表格数据的方法
this.getDataList() //获取表格数据的方法
}
}
},
......@@ -198,7 +278,8 @@
this.checkList = [...this.tableHeader]
},
methods: {
handleClick(tab) { //左侧tab切换
handleClick(tab) {
//左侧tab切换
if (tab) {
this.activeName = tab
}
......@@ -220,7 +301,8 @@
stationId: this.checkedData.sId,
resourceName: this.searchInput
}
}).then(data => {
})
.then((data) => {
if (data && data.code === 0) {
this.treeData = data.nodes
console.log(this.treeData, 'treeData')
......@@ -228,7 +310,8 @@
Vue.set(this.treeData[0], 'iconB', true)
}
}
}).then(() => {
})
.then(() => {
if (!this.treeData || this.treeData.length <= 0) {
return
}
......@@ -255,7 +338,7 @@
rows: this.pageSize,
stationId: this.checkedData.sId
}
}).then(data => {
}).then((data) => {
if (data && data.code === 0) {
this.dataList = data.page.rows
this.totalPage = data.page.total
......@@ -267,7 +350,7 @@
})
},
isFlag(data, id) {
data.forEach(res => {
data.forEach((res) => {
if (res.id === id) {
Vue.set(res, 'iconB', true)
} else {
......@@ -293,9 +376,11 @@
// }
// })
if (node.level === 4) { //子系统
if (node.level === 4) {
//子系统
this.treeOnList = null
} else if (node.level === 6) { //资源点1
} else if (node.level === 6) {
//资源点1
this.treeOnList = node
this.getDataList()
}
......@@ -314,7 +399,10 @@
this.$refs.queryDetail.init(this.treeOnList)
},
editClick(row) {
this.$refs.queryDetail.init(this.treeOnList, JSON.parse(JSON.stringify(row)))
this.$refs.queryDetail.init(
this.treeOnList,
JSON.parse(JSON.stringify(row))
)
},
removeClick(row) {
this.$confirm('确认删除该预置点', '删除预置点', {
......@@ -329,7 +417,7 @@
id: row.id,
stationId: this.checkedData.sId
}
}).then(data => {
}).then((data) => {
if (data && data.code === 0) {
this.$message.success('删除成功')
this.getDataList()
......@@ -365,120 +453,117 @@
this.getDataList(sort, order)
}
}
}
}
</script>
<style>
.inputWidth {
.inputWidth {
width: 210px;
}
}
</style>
<style lang='scss' scoped>
.dic_tree {
<style lang="scss" scoped>
.dic_tree {
background: #f4f4f4;
font-size: 14px;
transform: translateX(-6px);
margin-top: 20px;
}
.dic_tree /deep/ .el-tree-node__content {
}
.dic_tree /deep/ .el-tree-node__content {
padding-left: 0px !important;
}
}
.dic_tree /deep/ .el-tree-node {
.dic_tree /deep/ .el-tree-node {
position: relative;
padding-left: 16px;
}
}
.dic_tree /deep/ .el-tree-node__children {
.dic_tree /deep/ .el-tree-node__children {
padding-left: 8px;
}
}
.dic_tree /deep/ .el-tree-node :last-child:before {
.dic_tree /deep/ .el-tree-node :last-child:before {
height: 38px;
}
}
.dic_tree /deep/ .el-tree > .el-tree-node:before {
.dic_tree /deep/ .el-tree > .el-tree-node:before {
border-left: none;
}
}
.tree-container /deep/ .el-tree > .el-tree-node:after {
.tree-container /deep/ .el-tree > .el-tree-node:after {
border-top: none;
}
}
.dic_tree /deep/ .el-tree-node:before {
content: "";
.dic_tree /deep/ .el-tree-node:before {
content: '';
left: -4px;
position: absolute;
right: auto;
border-width: 1px;
}
}
.dic_tree /deep/ .el-tree-node:after {
content: "";
.dic_tree /deep/ .el-tree-node:after {
content: '';
left: -4px;
position: absolute;
right: auto;
border-width: 1px;
}
}
.dic_tree /deep/ .el-tree-node:before {
.dic_tree /deep/ .el-tree-node:before {
border-left: 1px dashed #bfbfbf;
bottom: 0px;
height: 100%;
top: -26px;
width: 1px;
}
}
.dic_tree /deep/ .el-tree-node:after {
.dic_tree /deep/ .el-tree-node:after {
border-top: 1px dashed #bfbfbf;
height: 20px;
top: 12px;
width: 36px;
}
.tree-container /deep/ .el-tree > .el-tree-node:after {
}
.tree-container /deep/ .el-tree > .el-tree-node:after {
border-top: none;
}
}
.tree-container {
.tree-container {
/* 树的parent,样式自定 */
}
.dic_tree /deep/ .el-tree-node__expand-icon.expanded {
}
.dic_tree /deep/ .el-tree-node__expand-icon.expanded {
transform: rotate(0deg);
-webkit-transform: rotate(0deg);
}
.dic_tree /deep/ .el-icon-caret-right:before {
background: url("../../../assets/images/add.png");
content: "";
}
.dic_tree /deep/ .el-icon-caret-right:before {
background: url('../../../assets/images/add.png');
content: '';
display: block;
width: 18px;
height: 18px;
font-size: 18px;
background-size: 18px;
}
.dic_tree
}
.dic_tree
/deep/
.el-tree-node__expand-icon.expanded.el-icon-caret-right:before {
background: url("../../../assets/images/sub.png");
content: "";
background: url('../../../assets/images/sub.png');
content: '';
display: block;
width: 18px;
height: 18px;
font-size: 18px;
background-size: 18px;
}
.dic_tree /deep/.el-tree-node__content > .el-tree-node__expand-icon{
padding:0 2px 0 0;
}
.dic_tree /deep/.el-tree-node__expand-icon.is-leaf::before {
.dic_tree /deep/.el-tree-node__content > .el-tree-node__expand-icon {
padding: 0 2px 0 0;
}
.dic_tree /deep/.el-tree-node__expand-icon.is-leaf::before {
opacity: 0;
}
.dic_tree /deep/.is-leaf.el-tree-node__expand-icon.el-icon-caret-right {
}
.dic_tree /deep/.is-leaf.el-tree-node__expand-icon.el-icon-caret-right {
// margin-left: -15px !important;
}
}
</style>
<style >
<style>
.el-tree--highlight-current
.el-tree-node.is-current
> .el-tree-node__content
......@@ -486,16 +571,16 @@
background-color: #33b0f6 !important;
color: aliceblue;
}
.el-tree--highlight-current .el-tree-node.is-current>.el-tree-node__content {
background-color:transparent;
.el-tree--highlight-current .el-tree-node.is-current > .el-tree-node__content {
background-color: transparent;
}
</style>
<style lang='scss' scoped>
.inputWidth {
<style lang="scss" scoped>
.inputWidth {
width: 130px;
}
}
.resource-container {
.resource-container {
width: 100%;
height: 100%;
position: relative;
......@@ -526,16 +611,16 @@
.pointer {
cursor: pointer !important;
}
}
}
.tier-btn {
.tier-btn {
.active-tier {
background-color: #409eff;
color: #ffffff;
}
}
}
.patrol_spot {
.patrol_spot {
.el-tree {
background: #f4f4f4;
font-size: 12px;
......@@ -546,7 +631,9 @@
background: #f4f4f4;
}
.el-tree--highlight-current .el-tree-node.is-current > .el-tree-node__content {
.el-tree--highlight-current
.el-tree-node.is-current
> .el-tree-node__content {
background-color: #f4f4f4 !important;
color: #fff !important;
......@@ -642,9 +729,9 @@
}
.el-button.is-plain:hover {
background: #FFF;
border-color: #32A5EA;
color: #32A5EA;
background: #fff;
border-color: #32a5ea;
color: #32a5ea;
}
.patrol_spot_right_button_r {
......@@ -658,7 +745,8 @@
border-radius: 13px;
background: #ced1d6;
border: 1px solid rgba(0, 0, 0, 0.2);
box-shadow: 0px 1px 0px 1px rgba(255, 255, 255, 0.25), 0px 2px 4px 0px rgba(0, 0, 0, 0.1);
box-shadow: 0px 1px 0px 1px rgba(255, 255, 255, 0.25),
0px 2px 4px 0px rgba(0, 0, 0, 0.1);
div {
width: 46px;
......@@ -673,13 +761,14 @@
color: #fff;
border-radius: 13px;
border: 1px solid rgba(23, 41, 71, 0.5);
box-shadow: 0px 1px 0px 0px rgba(255, 255, 255, 0.3), 0px 2px 0px 0px rgba(255, 255, 255, 0.15);
}
box-shadow: 0px 1px 0px 0px rgba(255, 255, 255, 0.3),
0px 2px 0px 0px rgba(255, 255, 255, 0.15);
}
}
}
}
.monitor_point_left_top {
.monitor_point_left_top {
height: 42px;
background: #e1edf4;
padding-left: 16px;
......@@ -723,6 +812,5 @@
font-weight: bold;
}
}
}
}
</style>
......@@ -146,7 +146,7 @@ export default {
data: {
roleId: checkedRow,
menuIds: checkedKeys,
stationId: localStorage.getItem('stationId')
stationId: ''
}
}).then((data) => {
if (data && data.code === 0) {
......@@ -283,7 +283,7 @@ export default {
url: this.$http.adornUrl(`/sys/role/getRoleList`),
method: 'get',
params: this.$http.adornParams({
stationId: localStorage.getItem('stationId')
stationId: ''
})
})
.then((data) => {
......@@ -309,7 +309,7 @@ export default {
url: this.$http.adornUrl(`/sys/menu/getMenu`),
method: 'get',
params: this.$http.adornParams({
stationId: localStorage.getItem('stationId')
stationId: ''
})
}).then((data) => {
if (data && data.code === 0) {
......@@ -439,10 +439,10 @@ export default {
background-color: #f6f7fb;
.active1:after {
background: url("../../../assets/images/active1.png");
background: url('../../../assets/images/active1.png');
background-repeat: no-repeat;
transition: 0.3s;
content: "";
content: '';
display: inline-flex;
width: 5px;
height: 10px;
......@@ -452,11 +452,11 @@ export default {
}
.active2:after {
background: url("../../../assets/images/active1.png");
background: url('../../../assets/images/active1.png');
transform: rotate(90deg);
transition: 0.3s;
background-repeat: no-repeat;
content: "";
content: '';
display: inline-flex;
width: 10px;
height: 10px;
......@@ -481,7 +481,7 @@ export default {
}
.div_content {
transition: height .3s;
transition: height 0.3s;
height: 0;
overflow: hidden;
......@@ -520,7 +520,6 @@ export default {
}
}
}
}
}
</style>
......@@ -53,7 +53,7 @@ export default {
typeId: '',
leftLoading: false,
rightLoading: false,
stationId: localStorage.getItem('stationId'),
stationId: '',
typeData: [],
thresholdData: [],
addOrUpdateVisible: false,
......
......@@ -128,7 +128,7 @@ const frameIn = [
{ path: 'room', name: `${pre}room`, component: () => import('@/pages/sys/room'), meta: { ...meta, title: '场景维护' } },
{ path: 'threshold', name: `${pre}threshold`, component: () => import('@/pages/sys/threshold'), meta: { ...meta, title: '阈值维护' } },
{ path: 'event', name: `${pre}event`, component: () => import('@/pages/sys/event'), meta: { ...meta, title: '报警类型维护' } },
{ path: 'datasource', name: `${pre}datasource`, component: () => import('@/pages/sys/datasource'), meta: { ...meta, title: '数据源维护' } },
// { path: 'datasource', name: `${pre}datasource`, component: () => import('@/pages/sys/datasource'), meta: { ...meta, title: '数据源维护' } },
{ path: 'parameter', name: `${pre}parameter`, component: () => import('@/pages/sys/parameter'), meta: { ...meta, title: '系统参数设置' } },
{ path: 'code', name: `${pre}code`, component: () => import('@/pages/sys/code'), meta: { ...meta, title: '代码生成' } },
{ path: 'dictionary', name: `${pre}dictionary`, component: () => import('@/pages/sys/dictionary'), meta: { ...meta, title: '数据字典' } }
......
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