Commit ca654d32 authored by co_dengxiongwen's avatar co_dengxiongwen

页面调整

parent 82866b16
...@@ -67,8 +67,8 @@ ...@@ -67,8 +67,8 @@
</div> </div>
<div class="map_right"> <div class="map_right">
<div> <div>
//- <iframe :src="src" ref="iframe"></iframe> <iframe :src="src" ref="iframe"></iframe>
<iframe src="http://10.20.174.62:8088/map/index.html" ref="iframe1"></iframe> //- <iframe src="http://10.20.174.62:8088/map/index.html" ref="iframe1"></iframe>
</div> </div>
</div> </div>
</el-card> </el-card>
...@@ -157,16 +157,14 @@ export default { ...@@ -157,16 +157,14 @@ export default {
resource: {}, //当前选择的资源点 resource: {}, //当前选择的资源点
clickItem: {}, clickItem: {},
resourceTypeList: [], resourceTypeList: [],
stationId: localStorage.getItem('stationId'), stationId: '',
checkedData: { checkedData: {
stationId: '', stationId: '',
stationName: '', stationName: '',
subSystem: '',
tierId: '', tierId: '',
tierName: '', tierName: '',
resourceId: '', resourceId: '',
sId: localStorage.getItem('stationId'), sId: ''
subCode: '01'
}, },
currentNode: {}, currentNode: {},
dragAble: false, 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 { ...@@ -76,11 +76,11 @@ export default {
tableHeader: [ tableHeader: [
{ label: '字典项名称', prop: 'name' }, { label: '字典项名称', prop: 'name' },
{ label: '字典项值', prop: 'value' }, { label: '字典项值', prop: 'value' },
{ label: '排序值', prop: 'sortValue' }, { label: '排序值', prop: 'sortValue' }
], ],
tableOption: { tableOption: {
border: false, //是否边框 border: false, //是否边框
maxHeight: 500, //高度 maxHeight: 500 //高度
}, },
listTitle: '', listTitle: '',
flag: true, flag: true,
...@@ -92,7 +92,7 @@ export default { ...@@ -92,7 +92,7 @@ export default {
pageIndex: 1, pageIndex: 1,
pageSize: 10, pageSize: 10,
totalPage: 0, totalPage: 0,
stationId: localStorage.getItem('stationId'), stationId: '',
sort: 'sort_value', sort: 'sort_value',
order: 'asc', order: 'asc',
addOrUpdateVisible: false, addOrUpdateVisible: false,
...@@ -108,35 +108,35 @@ export default { ...@@ -108,35 +108,35 @@ export default {
min: 1, min: 1,
max: 30, max: 30,
message: '长度在 1 到 30 个字符', message: '长度在 1 到 30 个字符',
trigger: 'blur', trigger: 'blur'
}, }
], ],
value: [ value: [
{ {
min: 1, min: 1,
max: 20, max: 20,
message: '长度在 1 到 20 个字符', message: '长度在 1 到 20 个字符',
trigger: 'blur', trigger: 'blur'
}, }
], ],
sortValue: [ sortValue: [
{ required: true, message: '排序值不能为空' }, { required: true, message: '排序值不能为空' },
// { min: 1, max: 10, message: '排序值超出范围', trigger: 'blur' }, // { min: 1, max: 10, message: '排序值超出范围', trigger: 'blur' },
{ type: 'number', message: '排序值必须为数字' }, { type: 'number', message: '排序值必须为数字' },
{ validator: validateNumber, trigger: ['blur', 'change'] }, { validator: validateNumber, trigger: ['blur', 'change'] }
// { pattern: /^[1-9]\d*$/, message: '只能输入正整数', trigger: 'change' } // { pattern: /^[1-9]\d*$/, message: '只能输入正整数', trigger: 'change' }
], ]
}, },
data: [], data: [],
defaultProps: { defaultProps: {
children: 'children', children: 'children',
label: 'name', label: 'name',
id: 'id', id: 'id'
}, }
} }
}, },
components: { components: {
dragTable, dragTable
}, },
watch: { watch: {
totalPage() { totalPage() {
...@@ -147,7 +147,7 @@ export default { ...@@ -147,7 +147,7 @@ export default {
this.pageIndex = pages || 1 this.pageIndex = pages || 1
this.getDataList() //获取表格数据的方法 this.getDataList() //获取表格数据的方法
} }
}, }
}, },
created() { created() {
this.getList() this.getList()
...@@ -160,8 +160,8 @@ export default { ...@@ -160,8 +160,8 @@ export default {
url: this.$http.adornUrl('/sysDictionary/dictionaryAllList'), url: this.$http.adornUrl('/sysDictionary/dictionaryAllList'),
method: 'GET', method: 'GET',
params: { params: {
stationId: this.stationId, stationId: this.stationId
}, }
}).then((data) => { }).then((data) => {
if (data) { if (data) {
this.data = data.list this.data = data.list
...@@ -205,8 +205,8 @@ export default { ...@@ -205,8 +205,8 @@ export default {
parentId: this.dicId, parentId: this.dicId,
sort: sort || 'sort_value', sort: sort || 'sort_value',
order, order,
stationId: this.stationId, stationId: this.stationId
}, }
}).then((data) => { }).then((data) => {
if (data) { if (data) {
this.dataList = data.page.rows this.dataList = data.page.rows
...@@ -224,12 +224,12 @@ export default { ...@@ -224,12 +224,12 @@ export default {
confirmButtonText: '确定', confirmButtonText: '确定',
cancelButtonText: '取消', cancelButtonText: '取消',
type: 'warning', type: 'warning',
closeOnClickModal: false, closeOnClickModal: false
}).then(() => { }).then(() => {
this.$http({ this.$http({
url: this.$http.adornUrl('/sysDictionary/deleteById'), url: this.$http.adornUrl('/sysDictionary/deleteById'),
method: 'post', method: 'post',
data: row, data: row
}).then((res) => { }).then((res) => {
if (res && res.code === 0) { if (res && res.code === 0) {
this.$message({ this.$message({
...@@ -238,7 +238,7 @@ export default { ...@@ -238,7 +238,7 @@ export default {
duration: 1500, duration: 1500,
onClose: () => { onClose: () => {
this.getDataList() this.getDataList()
}, }
}) })
} else { } else {
this.$message.error(res.msg) this.$message.error(res.msg)
...@@ -271,7 +271,7 @@ export default { ...@@ -271,7 +271,7 @@ export default {
`/sysDictionary/${!this.ruleForm.id ? 'save' : 'update'}` `/sysDictionary/${!this.ruleForm.id ? 'save' : 'update'}`
), ),
method: 'post', method: 'post',
data: this.ruleForm, data: this.ruleForm
}).then((data) => { }).then((data) => {
if (data && data.code === 0) { if (data && data.code === 0) {
this.$message({ this.$message({
...@@ -288,7 +288,7 @@ export default { ...@@ -288,7 +288,7 @@ export default {
) { ) {
this.getList() this.getList()
} }
}, }
}) })
} else { } else {
this.clickFlag = false this.clickFlag = false
...@@ -322,7 +322,7 @@ export default { ...@@ -322,7 +322,7 @@ export default {
{ {
confirmButtonText: '确定', confirmButtonText: '确定',
cancelButtonText: '取消', cancelButtonText: '取消',
type: 'warning', type: 'warning'
} }
) )
.then(() => { .then(() => {
...@@ -331,11 +331,11 @@ export default { ...@@ -331,11 +331,11 @@ export default {
.catch(() => { .catch(() => {
this.$message({ this.$message({
type: 'info', type: 'info',
message: '已取消退出', message: '已取消退出'
}) })
}) })
}, }
}, }
} }
</script> </script>
<style lang="scss" scoped> <style lang="scss" scoped>
......
...@@ -27,7 +27,7 @@ export default { ...@@ -27,7 +27,7 @@ export default {
levelList: [ levelList: [
{ id: 1, name: '特别重大' }, { id: 1, name: '特别重大' },
{ id: 2, name: '重大' }, { id: 2, name: '重大' },
{ id: 3, name: '一般' }, { id: 3, name: '一般' }
], ],
dataRule: { dataRule: {
eventName: [ eventName: [
...@@ -36,8 +36,8 @@ export default { ...@@ -36,8 +36,8 @@ export default {
min: 1, min: 1,
max: 50, max: 50,
message: '长度在 1 到 50 个字符', message: '长度在 1 到 50 个字符',
trigger: 'blur', trigger: 'blur'
}, }
], ],
eventCode: [ eventCode: [
{ required: true, message: '报警类型编码不能为空', trigger: 'blur' }, { required: true, message: '报警类型编码不能为空', trigger: 'blur' },
...@@ -45,13 +45,13 @@ export default { ...@@ -45,13 +45,13 @@ export default {
min: 1, min: 1,
max: 20, max: 20,
message: '长度在 1 到 20 个字符', message: '长度在 1 到 20 个字符',
trigger: 'blur', trigger: 'blur'
}, }
], ],
eventLevel: [ eventLevel: [
{ required: true, message: '报警类型等级不能为空', trigger: 'blur' }, { required: true, message: '报警类型等级不能为空', trigger: 'blur' }
], ]
}, }
} }
}, },
watch: { watch: {
...@@ -61,8 +61,8 @@ export default { ...@@ -61,8 +61,8 @@ export default {
this.$refs.dataForm.resetFields() this.$refs.dataForm.resetFields()
} }
}, },
deep: true, deep: true
}, }
}, },
methods: { methods: {
init(row, resourceType) { init(row, resourceType) {
...@@ -76,7 +76,7 @@ export default { ...@@ -76,7 +76,7 @@ export default {
eventCode: '', eventCode: '',
eventLevel: '', eventLevel: '',
resourceType: resourceType, resourceType: resourceType,
stationId: localStorage.getItem('stationId'), stationId: ''
} }
} }
}, },
...@@ -90,7 +90,7 @@ export default { ...@@ -90,7 +90,7 @@ export default {
`/linkEvent/${!this.dataForm.id ? 'save' : 'update'}` `/linkEvent/${!this.dataForm.id ? 'save' : 'update'}`
), ),
method: 'post', method: 'post',
data: this.dataForm, data: this.dataForm
}).then((data) => { }).then((data) => {
if (data && data.code === 0) { if (data && data.code === 0) {
this.$message({ this.$message({
...@@ -100,7 +100,7 @@ export default { ...@@ -100,7 +100,7 @@ export default {
onClose: () => { onClose: () => {
this.visible = false this.visible = false
this.$emit('refreshdatalist') this.$emit('refreshdatalist')
}, }
}) })
} else { } else {
this.clickFlag = false this.clickFlag = false
...@@ -118,7 +118,7 @@ export default { ...@@ -118,7 +118,7 @@ export default {
{ {
confirmButtonText: '确定', confirmButtonText: '确定',
cancelButtonText: '取消', cancelButtonText: '取消',
type: 'warning', type: 'warning'
} }
) )
.then(() => { .then(() => {
...@@ -127,11 +127,11 @@ export default { ...@@ -127,11 +127,11 @@ export default {
.catch(() => { .catch(() => {
this.$message({ this.$message({
type: 'info', type: 'info',
message: '已取消退出', message: '已取消退出'
}) })
}) })
}, }
}, }
} }
</script> </script>
<style> <style>
......
...@@ -49,7 +49,7 @@ export default { ...@@ -49,7 +49,7 @@ export default {
resourceType: '', resourceType: '',
leftLoading: false, leftLoading: false,
rightLoading: false, rightLoading: false,
stationId: localStorage.getItem('stationId'), stationId: '',
resourceData: [], resourceData: [],
eventData: [], eventData: [],
addOrUpdateVisible: false, addOrUpdateVisible: false,
...@@ -60,17 +60,17 @@ export default { ...@@ -60,17 +60,17 @@ export default {
tableHeader: [ tableHeader: [
{ label: '报警类型编码', prop: 'eventCode', sort: false }, { label: '报警类型编码', prop: 'eventCode', sort: false },
{ label: '报警类型名称', prop: 'eventName', sort: false }, { label: '报警类型名称', prop: 'eventName', sort: false },
{ label: '报警类型等级', prop: 'eventLevel', sort: false, slot: true }, { label: '报警类型等级', prop: 'eventLevel', sort: false, slot: true }
], ],
tableOption: { tableOption: {
border: false, //是否边框 border: false, //是否边框
maxHeight: 500, //高度 maxHeight: 500 //高度
}, }
} }
}, },
components: { components: {
AddOrUpdate, AddOrUpdate,
dragTable, dragTable
}, },
watch: { watch: {
totalPage() { totalPage() {
...@@ -81,7 +81,7 @@ export default { ...@@ -81,7 +81,7 @@ export default {
this.pageIndex = pages || 1 this.pageIndex = pages || 1
this.getEvent() //获取表格数据的方法 this.getEvent() //获取表格数据的方法
} }
}, }
}, },
created() { created() {
this.checkList = [...this.tableHeader] this.checkList = [...this.tableHeader]
...@@ -121,8 +121,8 @@ export default { ...@@ -121,8 +121,8 @@ export default {
data: { data: {
page: this.pageIndex, page: this.pageIndex,
rows: this.pageSize, rows: this.pageSize,
resourceType: this.resourceType, resourceType: this.resourceType
}, }
}).then((data) => { }).then((data) => {
if (data && data.code === 0) { if (data && data.code === 0) {
console.log('--data--', data.page.rows) console.log('--data--', data.page.rows)
...@@ -137,7 +137,7 @@ export default { ...@@ -137,7 +137,7 @@ export default {
this.$http({ this.$http({
url: this.$http.adornUrl(`/sysDictionary/getResourceTypeDicList`), url: this.$http.adornUrl(`/sysDictionary/getResourceTypeDicList`),
method: 'get', method: 'get',
params: { stationId: this.stationId }, params: { stationId: this.stationId }
}) })
.then((data) => { .then((data) => {
if (data && data.code === 0) { if (data && data.code === 0) {
...@@ -171,13 +171,13 @@ export default { ...@@ -171,13 +171,13 @@ export default {
confirmButtonText: '确定', confirmButtonText: '确定',
cancelButtonText: '取消', cancelButtonText: '取消',
type: 'warning', type: 'warning',
closeOnClickModal: false, closeOnClickModal: false
}) })
.then(() => { .then(() => {
this.$http({ this.$http({
url: this.$http.adornUrlAlarm(`/linkEvent/deleteByFlag`), url: this.$http.adornUrlAlarm(`/linkEvent/deleteByFlag`),
method: 'post', method: 'post',
data: this.$http.adornData(ids, false), data: this.$http.adornData(ids, false)
}).then((data) => { }).then((data) => {
if (data && data.code === 0) { if (data && data.code === 0) {
this.$message({ this.$message({
...@@ -186,7 +186,7 @@ export default { ...@@ -186,7 +186,7 @@ export default {
duration: 1500, duration: 1500,
onClose: () => { onClose: () => {
this.getEvent() this.getEvent()
}, }
}) })
} else { } else {
this.$message.error(data.msg) this.$message.error(data.msg)
...@@ -196,11 +196,11 @@ export default { ...@@ -196,11 +196,11 @@ export default {
.catch(() => { .catch(() => {
this.$message({ this.$message({
type: 'info', type: 'info',
message: '已取消删除', message: '已取消删除'
}) })
}) })
}, }
}, }
} }
</script> </script>
......
...@@ -37,22 +37,13 @@ ...@@ -37,22 +37,13 @@
</template> </template>
</el-table-column> </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> </drag-table>
el-footer.box_footer 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") 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> </template>
<script> <script>
import Sortable from 'sortablejs'
import dragTable from '../../components/tab' import dragTable from '../../components/tab'
let that
export default { export default {
filters: { filters: {
ellipsis (value) { ellipsis (value) {
...@@ -107,11 +98,10 @@ export default { ...@@ -107,11 +98,10 @@ export default {
} }
}, },
created () { created () {
that = this
this.pageIndex = 1 this.pageIndex = 1
this.getDataList() this.getDataList()
}, },
mounted(){ mounted() {
this.checkList = [...this.tableHeader] this.checkList = [...this.tableHeader]
}, },
methods: { methods: {
...@@ -140,7 +130,7 @@ export default { ...@@ -140,7 +130,7 @@ export default {
endTime: this.dataForm.endTime, endTime: this.dataForm.endTime,
sort: sort, sort: sort,
order: order, order: order,
stationId: localStorage.getItem('stationId') stationId: ''
}) })
}).then(data => { }).then(data => {
//console.log('data', data) //console.log('data', data)
......
...@@ -50,11 +50,11 @@ export default { ...@@ -50,11 +50,11 @@ export default {
{ label: '参数名称', prop: 'name' }, //是否插槽 { label: '参数名称', prop: 'name' }, //是否插槽
{ label: '参数描述', prop: 'remark' }, { label: '参数描述', prop: 'remark' },
{ label: '当前值(双击修改)', prop: 'value', slot: true }, { label: '当前值(双击修改)', prop: 'value', slot: true },
{ label: '参数说明', prop: 'introduction' }, { label: '参数说明', prop: 'introduction' }
], ],
tableOption: { tableOption: {
border: false, //是否边框 border: false, //是否边框
maxHeight: 500, //高度 maxHeight: 500 //高度
}, },
visible: false, visible: false,
title: null, title: null,
...@@ -64,11 +64,11 @@ export default { ...@@ -64,11 +64,11 @@ export default {
pageSize: 10, pageSize: 10,
totalPage: 0, totalPage: 0,
ruleForm: {}, ruleForm: {},
rules: null, //添加规则 rules: null //添加规则
} }
}, },
components: { components: {
dragTable, dragTable
}, },
watch: { watch: {
totalPage() { totalPage() {
...@@ -79,7 +79,7 @@ export default { ...@@ -79,7 +79,7 @@ export default {
this.pageIndex = pages || 1 this.pageIndex = pages || 1
this.getDataList() //获取表格数据的方法 this.getDataList() //获取表格数据的方法
} }
}, }
}, },
mounted() { mounted() {
this.getDataList() this.getDataList()
...@@ -106,12 +106,12 @@ export default { ...@@ -106,12 +106,12 @@ export default {
url: this.$http.adornUrl('/sysParams/paramsAllList'), url: this.$http.adornUrl('/sysParams/paramsAllList'),
method: 'post', method: 'post',
params: { params: {
stationId: localStorage.getItem('stationId'), stationId: '',
page: this.pageIndex, page: this.pageIndex,
limit: this.pageSize, limit: this.pageSize,
sort: this.sort, sort: this.sort,
order: this.order, order: this.order
}, }
}).then((data) => { }).then((data) => {
if (data) { if (data) {
this.tableData = data.page.records this.tableData = data.page.records
...@@ -162,9 +162,9 @@ export default { ...@@ -162,9 +162,9 @@ export default {
} }
} }
}, },
trigger: 'blur', trigger: 'blur'
}, }
], ]
} }
} else { } else {
this.ruleForm = {} this.ruleForm = {}
...@@ -180,7 +180,7 @@ export default { ...@@ -180,7 +180,7 @@ export default {
this.$http({ this.$http({
url: this.$http.adornUrl(`/sysParams/update`), url: this.$http.adornUrl(`/sysParams/update`),
method: 'post', method: 'post',
data: this.ruleForm, data: this.ruleForm
}).then((data) => { }).then((data) => {
if (data && data.code === 0) { if (data && data.code === 0) {
this.$message({ this.$message({
...@@ -190,7 +190,7 @@ export default { ...@@ -190,7 +190,7 @@ export default {
onClose: () => { onClose: () => {
this.visible = false this.visible = false
this.getDataList() this.getDataList()
}, }
}) })
} else { } else {
this.$message.error(data) this.$message.error(data)
...@@ -221,7 +221,7 @@ export default { ...@@ -221,7 +221,7 @@ export default {
this.$confirm('确认取消?', '参数列表', { this.$confirm('确认取消?', '参数列表', {
confirmButtonText: '确定', confirmButtonText: '确定',
cancelButtonText: '取消', cancelButtonText: '取消',
type: 'warning', type: 'warning'
}) })
.then(() => { .then(() => {
this.closeForm() this.closeForm()
...@@ -229,10 +229,10 @@ export default { ...@@ -229,10 +229,10 @@ export default {
.catch(() => { .catch(() => {
this.$message({ this.$message({
type: 'info', type: 'info',
message: '已取消退出', message: '已取消退出'
}) })
}) })
}, }
}, }
} }
</script> </script>
...@@ -140,7 +140,7 @@ export default { ...@@ -140,7 +140,7 @@ export default {
tierId: '', tierId: '',
tierName: '', tierName: '',
resourceId: '', resourceId: '',
sId: localStorage.getItem('stationId') sId: ''
}, },
currentNode: {}, currentNode: {},
dragAble: false, dragAble: false,
......
<template > <template>
<div class="patrol_spot"> <div class="patrol_spot">
<el-container style="padding:0px;height:77.6vh;"> <el-container style="padding:0px;height:77.6vh;">
<el-aside width='333px' style='height:85vh'> <el-aside width="333px" style="height:85vh">
<el-card class="treeCard tree-container" :body-style="{ padding: '0px' }"> <el-card
<div class="monitor_point_left_top"> class="treeCard tree-container"
<div class="title-bold monitor_point_left_topL" slot='header'>资源点列表</div> :body-style="{ padding: '0px' }"
<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> <div class="monitor_point_left_top">
</div> <div class="title-bold monitor_point_left_topL" slot="header">
</div> 资源点列表
<div class="tree-container"> </div>
<el-tree class="dic_tree" :data="treeData" ref='tree' :accordion='true' <div class="monitor_point_left_topR">
:highlight-current='true' :props="defaultProps" :default-expand-all='false' <el-input
@node-click="handleNodeClick" :default-expanded-keys='defaultExpandedKeys' suffix-icon="el-icon-search"
:filter-node-method="filterNode" size="mini"
:node-key='nodeKey'> @keyup.enter.native="initTreeStationMap"
<span class="custom-tree-node" style='width:85%;line-height: 18px;' slot-scope="{ node, data }"> v-model="searchInput"
<span v-if="node.data.level != 6 && node.data.iconB" class="el-icon-wq-treeIcon1 xa-icon"></span> clearable
<span v-if="node.data.level != 6 && !node.data.iconB" class="el-icon-wq-treeIcon xa-icon"></span> ></el-input>
<span v-if="node.data.level == 6 && node.data.type=='枪机'" class="el-icon-wq-treeQiang xa-icon"></span> </div>
<span v-if="node.data.level == 6 && node.data.type!='枪机'" class="el-icon-wq-treeQiu xa-icon"></span> </div>
<span>&nbsp;{{node.label}}</span> <div class="tree-container">
<span v-if=" node.data.iconB" class='el-icon-my-treeFlag'></span> <el-tree
class="dic_tree"
</span> :data="treeData"
</el-tree> ref="tree"
</div> :accordion="true"
</el-card> :highlight-current="true"
</el-aside> :props="defaultProps"
:default-expand-all="false"
<el-container class="el_container-style"> @node-click="handleNodeClick"
<el-header class="el_header-style"> :default-expanded-keys="defaultExpandedKeys"
<span class="title-bold title-left-color">预置点维护</span> :filter-node-method="filterNode"
<el-popover placement="bottom" width="150" > :node-key="nodeKey"
<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"> <span
<el-col :span="24"> class="custom-tree-node"
<el-checkbox v-for="(item,index) in tableHeader" :label="item" :key="index" > style="width:85%;line-height: 18px;"
{{item.label}} slot-scope="{ node, data }"
</el-checkbox> >
</el-col> <span
</el-checkbox-group> v-if="node.data.level != 6 && node.data.iconB"
</el-popover> class="el-icon-wq-treeIcon1 xa-icon"
<div style="float:right; margin-right:5px;"> ></span>
<el-button type="primary" size="mini" @click="addClick" v-if="isAuth('sys:preset:add')" icon='el-icon-plus' <span
style="float:left;margin-top:6px">新增 v-if="node.data.level != 6 && !node.data.iconB"
</el-button> class="el-icon-wq-treeIcon xa-icon"
</div> ></span>
</el-header> <span
<el-main class="box_main" onselectstart="return false;"> v-if="node.data.level == 6 && node.data.type == '枪机'"
<el-card class="tableCard" style="background:#ffffff !important;"> class="el-icon-wq-treeQiang xa-icon"
<!-- <el-table :data="dataList" v-loading="dataListLoading" :stripe="true" ></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>
</el-card>
</el-aside>
<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-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>
</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>
</div>
</el-header>
<el-main class="box_main" onselectstart="return false;">
<el-card class="tableCard" style="background:#ffffff !important;">
<!-- <el-table :data="dataList" v-loading="dataListLoading" :stripe="true"
highlight-current-row highlight-current-row
:header-cell-style="{background:'#EEF8FF',color:'#333333'}" style="width: 100%;" :header-cell-style="{background:'#EEF8FF',color:'#333333'}" style="width: 100%;"
@sort-change="sortChange"> @sort-change="sortChange">
...@@ -72,413 +124,446 @@ ...@@ -72,413 +124,446 @@
</template> </template>
</el-table-column> </el-table-column>
</el-table> --> </el-table> -->
<drag-table :data="dataList" :header="checkList" :option="tableOption" @getDataList="getDataList" v-loading="dataListLoading" :operationNum="3" :isShowOperate="true"> <drag-table
<!-- 插槽 --> :data="dataList"
<el-table-column slot="fixed" fixed prop="" label="序号" width="80" header-align="center" align="center" > :header="checkList"
<template slot-scope="scope"> :option="tableOption"
{{scope.$index+(pageIndex - 1) * pageSize + 1}} @getDataList="getDataList"
</template> v-loading="dataListLoading"
</el-table-column> :operationNum="3"
:isShowOperate="true"
<!-- 操作项 --> >
<template slot-scope="scope"> <!-- 插槽 -->
<el-button type="text" v-if="isAuth('sys:preset:update')" @click="editClick(scope.row)">编辑</el-button> <el-table-column
<el-button type="text" v-if="isAuth('sys:preset:delete')" @click="removeClick(scope.row)">删除</el-button> slot="fixed"
</template> fixed
prop=""
</drag-table> label="序号"
</el-card> width="80"
</el-main> header-align="center"
<el-footer class="box_footer"> align="center"
<el-pagination background @size-change="sizeChangeHandle" >
@current-change="currentChangeHandle" <template slot-scope="scope">
:current-page="pageIndex" :page-sizes="[10, 20, 50, 100]" {{ scope.$index + (pageIndex - 1) * pageSize + 1 }}
:page-size="pageSize" :total="totalPage" </template>
layout="total, sizes, prev, pager, next, jumper"></el-pagination> </el-table-column>
</el-footer>
</el-container> <!-- 操作项 -->
<template slot-scope="scope">
<query-detail ref='queryDetail' @closeQ="closeQueryDetailVisible"></query-detail> <el-button
</el-container> type="text"
</div> 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"
@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>
</el-footer>
</el-container>
<query-detail
ref="queryDetail"
@closeQ="closeQueryDetailVisible"
></query-detail>
</el-container>
</div>
</template> </template>
<script> <script>
import QueryDetail from './query-detail' import QueryDetail from './query-detail'
// import { getUUID } from '@/util' // import { getUUID } from '@/util'
import Vue from 'vue' import Vue from 'vue'
import dragTable from '../../components/tab' import dragTable from '../../components/tab'
export default { export default {
name: 'sys-user', name: 'sys-user',
filters: { filters: {
ellipsis(value) { ellipsis(value) {
if (!value) return '' if (!value) return ''
if (value.length > 20) { if (value.length > 20) {
return value.slice(0, 20) + '...' return value.slice(0, 20) + '...'
} }
return value return value
} }
}, },
data() { data() {
return { return {
checkList: [], //筛选数据 checkList: [], //筛选数据
tableHeader: [ tableHeader: [
{ label: '资源名称', prop: 'resourceName', sort: false }, { label: '资源名称', prop: 'resourceName', sort: false },
{ label: '资源编号', prop: 'resourceCode', sort: false }, { label: '资源编号', prop: 'resourceCode', sort: false },
{ label: '预置点名称', prop: 'name' }, { label: '预置点名称', prop: 'name' },
{ label: '预置点编号', prop: 'orderNum' } { label: '预置点编号', prop: 'orderNum' }
], ],
tableOption: { tableOption: {
border: false, //是否边框 border: false, //是否边框
maxHeight: 500 //高度 maxHeight: 500 //高度
}, },
transformationSta: 1, transformationSta: 1,
isCollapse: true, isCollapse: true,
dataList: [], dataList: [],
pageIndex: 1, pageIndex: 1,
pageSize: 10, pageSize: 10,
totalPage: 0, totalPage: 0,
dataListLoading: false, dataListLoading: false,
dataListSelections: [], dataListSelections: [],
addOrUpdateVisible: false, addOrUpdateVisible: false,
queryDetailVisible: false, queryDetailVisible: false,
treeData: [], treeData: [],
defaultExpandedKeys: [], defaultExpandedKeys: [],
defaultProps: { defaultProps: {
children: 'children', children: 'children',
label: 'name', label: 'name',
level1: 'level' level1: 'level'
}, },
nodeKey: 'id', nodeKey: 'id',
station: {}, //当前选择的站点 station: {}, //当前选择的站点
mapList: [], //当前站点的所有层 mapList: [], //当前站点的所有层
stationMap: {}, //当前选择的层 stationMap: {}, //当前选择的层
resource: {}, //当前选择的资源点 resource: {}, //当前选择的资源点
checkedData: { checkedData: {
lineId: '', stationId: '',
lineName: '', stationName: '',
stationId: '', tierId: '',
stationName: '', tierName: '',
subSystem: '', resourceId: '',
tierId: '', sId: '',
tierName: '', layerId: ''
resourceId: '', },
sId: localStorage.getItem('stationId'), currentNode: {},
subCode: '02', activeName: '1',
layerId: '' searchInput: '',
}, treeOnList: null
currentNode: {}, }
activeName: '1', },
searchInput: '', components: {
treeOnList: null QueryDetail,
dragTable
} },
}, watch: {
components: { searchInput(val) {
QueryDetail, this.$refs.tree.filter(val)
dragTable },
}, totalPage() {
watch: { //注意这个函数的名字必须和你监听data中的属性的名字一样,这样才能当你data中的属性发生变化时,触发这个函数
searchInput(val) { let pages = Math.ceil(this.totalPage / this.pageSize) //新数据总页数
this.$refs.tree.filter(val) //总页数小于当前页数则重新加载列表数据
}, if (pages < this.pageIndex) {
totalPage() { //注意这个函数的名字必须和你监听data中的属性的名字一样,这样才能当你data中的属性发生变化时,触发这个函数 this.pageIndex = pages || 1
let pages = Math.ceil(this.totalPage / this.pageSize)//新数据总页数 this.getDataList() //获取表格数据的方法
//总页数小于当前页数则重新加载列表数据 }
if (pages < this.pageIndex) { }
this.pageIndex = pages || 1 },
this.getDataList()//获取表格数据的方法 created() {
} this.initTreeStationMap()
} this.checkList = [...this.tableHeader]
}, },
created() { methods: {
this.initTreeStationMap() handleClick(tab) {
this.checkList = [...this.tableHeader] //左侧tab切换
}, if (tab) {
methods: { this.activeName = tab
handleClick(tab) { //左侧tab切换 }
if (tab) { if (this.activeName == 1) {
this.activeName = tab this.initTreeStationMap()
} }
if (this.activeName == 1) { },
this.initTreeStationMap() // 树节点过滤
} filterNode(value, data) {
}, if (!value) return true
// 树节点过滤 return data.name.indexOf(value) !== -1
filterNode(value, data) { },
if (!value) return true //初始化站点下的资源点
return data.name.indexOf(value) !== -1 initTreeStationMap() {
}, this.$http({
//初始化站点下的资源点 url: this.$http.adornUrlEq('/liResource/getSphericalCameraStationMap'),
initTreeStationMap() { method: 'post',
this.$http({ data: {
url: this.$http.adornUrlEq('/liResource/getSphericalCameraStationMap'), stationId: this.checkedData.sId,
method: 'post', resourceName: this.searchInput
data: { }
stationId: this.checkedData.sId, })
resourceName: this.searchInput .then((data) => {
} if (data && data.code === 0) {
}).then(data => { this.treeData = data.nodes
if (data && data.code === 0) { console.log(this.treeData, 'treeData')
this.treeData = data.nodes if (this.treeData && this.treeData.length > 0) {
console.log(this.treeData, 'treeData') Vue.set(this.treeData[0], 'iconB', true)
if (this.treeData && this.treeData.length > 0) {
Vue.set(this.treeData[0], 'iconB', true)
}
}
}).then(() => {
if (!this.treeData || this.treeData.length <= 0) {
return
}
this.defaultExpandedKeys = [this.treeData[0].id]
this.$nextTick(() => {
this.$refs.tree.setCurrentNode(this.treeData[0])
})
// if (this.checkedData.sId) {
// this.defaultExpandedKeys = [this.treeData[0].id]
// this.$refs.tree.setCurrentNode(this.treeData[0])
// }
})
},
getDataList(sort, order) {
this.dataListLoading = true
this.$http({
url: this.$http.adornUrl('/sysPreset/list'),
method: 'post',
data: {
sort: sort || '',
order: order || '',
resourceId: this.treeOnList.id,
page: this.pageIndex,
rows: this.pageSize,
stationId: this.checkedData.sId
}
}).then(data => {
if (data && data.code === 0) {
this.dataList = data.page.rows
this.totalPage = data.page.total
} else {
this.dataList = []
this.totalPage = 0
}
this.dataListLoading = false
})
},
isFlag(data, id) {
data.forEach(res => {
if (res.id === id) {
Vue.set(res, 'iconB', true)
} else {
Vue.set(res, 'iconB', false)
}
if (res.children) {
this.isFlag(res.children, id)
}
})
},
//线路资源点树节点点击事件
handleNodeClick(node) {
this.currentNode = node
let name = node.name
let id = node.id
this.isFlag(this.treeData, id)
// this.treeData.forEach(res => {
// if (res.id === id) {
// Vue.set(res, 'iconB', true)
// } else {
// Vue.set(res, 'iconB', false)
// }
// })
if (node.level === 4) { //子系统
this.treeOnList = null
} else if (node.level === 6) { //资源点1
this.treeOnList = node
this.getDataList()
}
},
//详情
closeQueryDetailVisible(now) {
this.getDataList()
},
addClick() {
if (!this.treeOnList) {
this.$message.warning('请选择设备')
return false
}
this.$refs.queryDetail.init(this.treeOnList)
},
editClick(row) {
this.$refs.queryDetail.init(this.treeOnList, JSON.parse(JSON.stringify(row)))
},
removeClick(row) {
this.$confirm('确认删除该预置点', '删除预置点', {
confirmButtonText: '确定',
cancelButtonText: '取消',
type: 'warning'
}).then(() => {
this.$http({
url: this.$http.adornUrl('/sysPreset/delete'),
method: 'get',
params: {
id: row.id,
stationId: this.checkedData.sId
}
}).then(data => {
if (data && data.code === 0) {
this.$message.success('删除成功')
this.getDataList()
}
})
})
},
// 每页数
sizeChangeHandle(val) {
this.pageSize = val
this.pageIndex = 1
this.getDataList()
},
// 当前页
currentChangeHandle(val) {
this.pageIndex = val
this.getDataList()
},
sortChange(node) {
console.log(node)
let obj = {
resourceName: 'resource_name',
resourceCode: 'resource_code',
orderNum: 'order_num',
name: 'name'
}
let sort = obj[node.prop]
let order = ''
if (node.order) {
order = node.order == 'ascending' ? 'ASC' : 'DESC'
}
this.getDataList(sort, order)
} }
}
})
.then(() => {
if (!this.treeData || this.treeData.length <= 0) {
return
}
this.defaultExpandedKeys = [this.treeData[0].id]
this.$nextTick(() => {
this.$refs.tree.setCurrentNode(this.treeData[0])
})
// if (this.checkedData.sId) {
// this.defaultExpandedKeys = [this.treeData[0].id]
// this.$refs.tree.setCurrentNode(this.treeData[0])
// }
})
},
getDataList(sort, order) {
this.dataListLoading = true
this.$http({
url: this.$http.adornUrl('/sysPreset/list'),
method: 'post',
data: {
sort: sort || '',
order: order || '',
resourceId: this.treeOnList.id,
page: this.pageIndex,
rows: this.pageSize,
stationId: this.checkedData.sId
} }
}).then((data) => {
if (data && data.code === 0) {
this.dataList = data.page.rows
this.totalPage = data.page.total
} else {
this.dataList = []
this.totalPage = 0
}
this.dataListLoading = false
})
},
isFlag(data, id) {
data.forEach((res) => {
if (res.id === id) {
Vue.set(res, 'iconB', true)
} else {
Vue.set(res, 'iconB', false)
}
if (res.children) {
this.isFlag(res.children, id)
}
})
},
//线路资源点树节点点击事件
handleNodeClick(node) {
this.currentNode = node
let name = node.name
let id = node.id
this.isFlag(this.treeData, id)
// this.treeData.forEach(res => {
// if (res.id === id) {
// Vue.set(res, 'iconB', true)
// } else {
// Vue.set(res, 'iconB', false)
// }
// })
if (node.level === 4) {
//子系统
this.treeOnList = null
} else if (node.level === 6) {
//资源点1
this.treeOnList = node
this.getDataList()
}
},
//详情
closeQueryDetailVisible(now) {
this.getDataList()
},
addClick() {
if (!this.treeOnList) {
this.$message.warning('请选择设备')
return false
}
this.$refs.queryDetail.init(this.treeOnList)
},
editClick(row) {
this.$refs.queryDetail.init(
this.treeOnList,
JSON.parse(JSON.stringify(row))
)
},
removeClick(row) {
this.$confirm('确认删除该预置点', '删除预置点', {
confirmButtonText: '确定',
cancelButtonText: '取消',
type: 'warning'
}).then(() => {
this.$http({
url: this.$http.adornUrl('/sysPreset/delete'),
method: 'get',
params: {
id: row.id,
stationId: this.checkedData.sId
}
}).then((data) => {
if (data && data.code === 0) {
this.$message.success('删除成功')
this.getDataList()
}
})
})
},
// 每页数
sizeChangeHandle(val) {
this.pageSize = val
this.pageIndex = 1
this.getDataList()
},
// 当前页
currentChangeHandle(val) {
this.pageIndex = val
this.getDataList()
},
sortChange(node) {
console.log(node)
let obj = {
resourceName: 'resource_name',
resourceCode: 'resource_code',
orderNum: 'order_num',
name: 'name'
}
let sort = obj[node.prop]
let order = ''
if (node.order) {
order = node.order == 'ascending' ? 'ASC' : 'DESC'
}
this.getDataList(sort, order)
} }
}
}
</script> </script>
<style> <style>
.inputWidth {
.inputWidth { width: 210px;
width: 210px; }
}
</style> </style>
<style lang='scss' scoped> <style lang="scss" scoped>
.dic_tree { .dic_tree {
background: #f4f4f4; background: #f4f4f4;
font-size: 14px; font-size: 14px;
transform: translateX(-6px); transform: translateX(-6px);
margin-top: 20px; margin-top: 20px;
} }
.dic_tree /deep/ .el-tree-node__content { .dic_tree /deep/ .el-tree-node__content {
padding-left: 0px !important; padding-left: 0px !important;
} }
.dic_tree /deep/ .el-tree-node { .dic_tree /deep/ .el-tree-node {
position: relative; position: relative;
padding-left: 16px; padding-left: 16px;
} }
.dic_tree /deep/ .el-tree-node__children { .dic_tree /deep/ .el-tree-node__children {
padding-left: 8px; padding-left: 8px;
} }
.dic_tree /deep/ .el-tree-node :last-child:before { .dic_tree /deep/ .el-tree-node :last-child:before {
height: 38px; height: 38px;
} }
.dic_tree /deep/ .el-tree > .el-tree-node:before { .dic_tree /deep/ .el-tree > .el-tree-node:before {
border-left: none; border-left: none;
} }
.tree-container /deep/ .el-tree > .el-tree-node:after { .tree-container /deep/ .el-tree > .el-tree-node:after {
border-top: none; border-top: none;
} }
.dic_tree /deep/ .el-tree-node:before { .dic_tree /deep/ .el-tree-node:before {
content: ""; content: '';
left: -4px; left: -4px;
position: absolute; position: absolute;
right: auto; right: auto;
border-width: 1px; border-width: 1px;
} }
.dic_tree /deep/ .el-tree-node:after { .dic_tree /deep/ .el-tree-node:after {
content: ""; content: '';
left: -4px; left: -4px;
position: absolute; position: absolute;
right: auto; right: auto;
border-width: 1px; border-width: 1px;
} }
.dic_tree /deep/ .el-tree-node:before { .dic_tree /deep/ .el-tree-node:before {
border-left: 1px dashed #bfbfbf; border-left: 1px dashed #bfbfbf;
bottom: 0px; bottom: 0px;
height: 100%; height: 100%;
top: -26px; top: -26px;
width: 1px; width: 1px;
} }
.dic_tree /deep/ .el-tree-node:after { .dic_tree /deep/ .el-tree-node:after {
border-top: 1px dashed #bfbfbf; border-top: 1px dashed #bfbfbf;
height: 20px; height: 20px;
top: 12px; top: 12px;
width: 36px; width: 36px;
} }
.tree-container /deep/ .el-tree > .el-tree-node:after { .tree-container /deep/ .el-tree > .el-tree-node:after {
border-top: none; border-top: none;
} }
.tree-container { .tree-container {
/* 树的parent,样式自定 */ /* 树的parent,样式自定 */
} }
.dic_tree /deep/ .el-tree-node__expand-icon.expanded { .dic_tree /deep/ .el-tree-node__expand-icon.expanded {
transform: rotate(0deg); transform: rotate(0deg);
-webkit-transform: rotate(0deg); -webkit-transform: rotate(0deg);
} }
.dic_tree /deep/ .el-icon-caret-right:before { .dic_tree /deep/ .el-icon-caret-right:before {
background: url("../../../assets/images/add.png"); background: url('../../../assets/images/add.png');
content: ""; content: '';
display: block; display: block;
width: 18px; width: 18px;
height: 18px; height: 18px;
font-size: 18px; font-size: 18px;
background-size: 18px; background-size: 18px;
} }
.dic_tree .dic_tree
/deep/ /deep/
.el-tree-node__expand-icon.expanded.el-icon-caret-right:before { .el-tree-node__expand-icon.expanded.el-icon-caret-right:before {
background: url("../../../assets/images/sub.png"); background: url('../../../assets/images/sub.png');
content: ""; content: '';
display: block; display: block;
width: 18px; width: 18px;
height: 18px; height: 18px;
font-size: 18px; font-size: 18px;
background-size: 18px; background-size: 18px;
} }
.dic_tree /deep/.el-tree-node__content > .el-tree-node__expand-icon{ .dic_tree /deep/.el-tree-node__content > .el-tree-node__expand-icon {
padding:0 2px 0 0; 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 {
// margin-left: -15px !important;
} }
.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 {
// margin-left: -15px !important;
}
</style> </style>
<style > <style>
.el-tree--highlight-current .el-tree--highlight-current
.el-tree-node.is-current .el-tree-node.is-current
> .el-tree-node__content > .el-tree-node__content
...@@ -486,243 +571,246 @@ ...@@ -486,243 +571,246 @@
background-color: #33b0f6 !important; background-color: #33b0f6 !important;
color: aliceblue; color: aliceblue;
} }
.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:transparent; background-color: transparent;
} }
</style> </style>
<style lang='scss' scoped> <style lang="scss" scoped>
.inputWidth { .inputWidth {
width: 130px; width: 130px;
} }
.resource-container {
width: 100%;
height: 100%;
position: relative;
border: 0px solid black;
overflow: auto;
.span-box {
height: 48px;
width: 60px;
font-size: 12px;
border-radius: 5px;
/* border: 1px solid red; */
position: absolute;
// left: 0;
// top: 0;
}
.span-box.el-icon-wq-qiangji1 { .resource-container {
height: 60px; width: 100%;
width: 72px; height: 100%;
} position: relative;
border: 0px solid black;
overflow: auto;
.span-box {
height: 48px;
width: 60px;
font-size: 12px;
border-radius: 5px;
/* border: 1px solid red; */
position: absolute;
// left: 0;
// top: 0;
}
.span-box.el-icon-wq-qiangji1 {
height: 60px;
width: 72px;
}
.span-box.el-icon-wq-qiuji1 {
height: 60px;
width: 72px;
}
.pointer {
cursor: pointer !important;
}
}
.span-box.el-icon-wq-qiuji1 { .tier-btn {
height: 60px; .active-tier {
width: 72px; background-color: #409eff;
} color: #ffffff;
}
}
.pointer { .patrol_spot {
cursor: pointer !important; .el-tree {
} background: #f4f4f4;
font-size: 12px;
}
.el-card {
height: 99%;
background: #f4f4f4;
}
.el-tree--highlight-current
.el-tree-node.is-current
> .el-tree-node__content {
background-color: #f4f4f4 !important;
color: #fff !important;
.el-button--text {
color: #fff;
} }
.tier-btn { .custom-tree-node {
.active-tier { background-color: #35aff8 !important;
background-color: #409eff;
color: #ffffff;
}
} }
}
.patrol_spot_left_top {
height: 50px;
background: #e1edf4;
padding-left: 10px;
.patrol_spot_left_topL {
height: 40px;
padding-top: 10px;
float: left;
div {
height: 40px;
float: left;
padding: 0 10px 0 10px;
line-height: 40px;
cursor: pointer;
font-size: 14px;
.patrol_spot { span {
.el-tree { color: #35aff8;
background: #f4f4f4;
font-size: 12px;
}
.el-card {
height: 99%;
background: #f4f4f4;
}
.el-tree--highlight-current .el-tree-node.is-current > .el-tree-node__content {
background-color: #f4f4f4 !important;
color: #fff !important;
.el-button--text {
color: #fff;
}
.custom-tree-node {
background-color: #35aff8 !important;
}
}
.patrol_spot_left_top {
height: 50px;
background: #e1edf4;
padding-left: 10px;
.patrol_spot_left_topL {
height: 40px;
padding-top: 10px;
float: left;
div {
height: 40px;
float: left;
padding: 0 10px 0 10px;
line-height: 40px;
cursor: pointer;
font-size: 14px;
span {
color: #35aff8;
}
}
div.on {
background: #fff;
border: 1px solid #c3c3c3;
border-bottom: none;
font-family: Microsoft YaHei;
font-weight: 400;
}
}
.patrol_spot_left_topR {
float: right;
margin-top: 10px;
.el-input {
width: 109px;
}
}
} }
}
div.on {
background: #fff;
border: 1px solid #c3c3c3;
border-bottom: none;
font-family: Microsoft YaHei;
font-weight: 400;
}
}
.patrol_spot_right_button { .patrol_spot_left_topR {
height: 50px; float: right;
width: 100%; margin-top: 10px;
background: #e3e4e6;
h1 {
font-size: 16px;
line-height: 42px;
height: 42px;
margin: 0;
font-family: Adobe Heiti Std;
font-weight: bold;
color: rgba(51, 51, 51, 1);
float: left;
}
.span { .el-input {
width: 5px; width: 109px;
height: 16px; }
background: rgba(33, 172, 252, 1); }
float: left; }
margin: 13px 10px 0 20px;
} .patrol_spot_right_button {
height: 50px;
width: 100%;
background: #e3e4e6;
h1 {
font-size: 16px;
line-height: 42px;
height: 42px;
margin: 0;
font-family: Adobe Heiti Std;
font-weight: bold;
color: rgba(51, 51, 51, 1);
float: left;
}
patrol_spot_right_button_l { .span {
margin-left: 20px; width: 5px;
} height: 16px;
background: rgba(33, 172, 252, 1);
float: left;
margin: 13px 10px 0 20px;
}
.el-button--primary.is-plain { patrol_spot_right_button_l {
margin-top: 10px; margin-left: 20px;
background: #ced1d6; }
border: none;
color: #656565;
}
.tier-btn .active-tier { .el-button--primary.is-plain {
background-color: #409eff; margin-top: 10px;
color: #ffffff; background: #ced1d6;
} border: none;
color: #656565;
}
.el-button.is-plain:hover { .tier-btn .active-tier {
background: #FFF; background-color: #409eff;
border-color: #32A5EA; color: #ffffff;
color: #32A5EA; }
}
.patrol_spot_right_button_r { .el-button.is-plain:hover {
float: right; background: #fff;
margin-top: 10px; border-color: #32a5ea;
width: 95px; color: #32a5ea;
height: 26px;
font-size: 12px;
line-height: 25px;
overflow: hidden;
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);
div {
width: 46px;
height: 24px;
float: left;
text-align: center;
cursor: pointer;
}
div.on {
background: #45b5f8;
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);
}
}
}
} }
.monitor_point_left_top { .patrol_spot_right_button_r {
height: 42px; float: right;
background: #e1edf4; margin-top: 10px;
padding-left: 16px; width: 95px;
display: flex; height: 26px;
justify-content: space-between; font-size: 12px;
align-items: center; line-height: 25px;
.monitor_point_left_topL { overflow: hidden;
height: 40px; border-radius: 13px;
padding-top: 10px; background: #ced1d6;
float: left; border: 1px solid rgba(0, 0, 0, 0.2);
div { box-shadow: 0px 1px 0px 1px rgba(255, 255, 255, 0.25),
height: 40px; 0px 2px 4px 0px rgba(0, 0, 0, 0.1);
float: left;
padding: 0 10px 0 10px; div {
line-height: 40px; width: 46px;
cursor: pointer; height: 24px;
font-family: Microsoft YaHei; float: left;
font-size: 14px; text-align: center;
span { cursor: pointer;
color: #35aff8; }
}
} div.on {
div.on { background: #45b5f8;
background: #fff; color: #fff;
border: 1px solid #c3c3c3; border-radius: 13px;
border-bottom: none; border: 1px solid rgba(23, 41, 71, 0.5);
font-family: Microsoft YaHei; box-shadow: 0px 1px 0px 0px rgba(255, 255, 255, 0.3),
font-weight: 400; 0px 2px 0px 0px rgba(255, 255, 255, 0.15);
} }
}
.monitor_point_left_topR {
// float: right;
margin-right: 20px;
// margin-top: 10px;
.el-input {
width: 109px;
}
/deep/ .el-input--mini .el-icon-search {
line-height: 28px;
color: #35aff8;
font-weight: bold;
}
}
} }
}
}
.monitor_point_left_top {
height: 42px;
background: #e1edf4;
padding-left: 16px;
display: flex;
justify-content: space-between;
align-items: center;
.monitor_point_left_topL {
height: 40px;
padding-top: 10px;
float: left;
div {
height: 40px;
float: left;
padding: 0 10px 0 10px;
line-height: 40px;
cursor: pointer;
font-family: Microsoft YaHei;
font-size: 14px;
span {
color: #35aff8;
}
}
div.on {
background: #fff;
border: 1px solid #c3c3c3;
border-bottom: none;
font-family: Microsoft YaHei;
font-weight: 400;
}
}
.monitor_point_left_topR {
// float: right;
margin-right: 20px;
// margin-top: 10px;
.el-input {
width: 109px;
}
/deep/ .el-input--mini .el-icon-search {
line-height: 28px;
color: #35aff8;
font-weight: bold;
}
}
}
</style> </style>
...@@ -146,7 +146,7 @@ export default { ...@@ -146,7 +146,7 @@ export default {
data: { data: {
roleId: checkedRow, roleId: checkedRow,
menuIds: checkedKeys, menuIds: checkedKeys,
stationId: localStorage.getItem('stationId') stationId: ''
} }
}).then((data) => { }).then((data) => {
if (data && data.code === 0) { if (data && data.code === 0) {
...@@ -283,25 +283,25 @@ export default { ...@@ -283,25 +283,25 @@ export default {
url: this.$http.adornUrl(`/sys/role/getRoleList`), url: this.$http.adornUrl(`/sys/role/getRoleList`),
method: 'get', method: 'get',
params: this.$http.adornParams({ params: this.$http.adornParams({
stationId: localStorage.getItem('stationId') stationId: ''
}) })
}) })
.then((data) => { .then((data) => {
if (data && data.code === 0) { if (data && data.code === 0) {
this.tableData = data.list this.tableData = data.list
// let row = this.$refs.roleTable.data[0] // let row = this.$refs.roleTable.data[0]
// this.$refs.roleTable.setCurrentRow(row) // this.$refs.roleTable.setCurrentRow(row)
// this.chooseRole(row) // this.chooseRole(row)
}
this.leftLoading = false
})
.then(() => {
this.$nextTick(() => {
if (this.tableData && this.tableData.length) {
this.chooseRole(this.tableData[0])
} }
this.leftLoading = false
})
.then(() => {
this.$nextTick(() => {
if (this.tableData && this.tableData.length) {
this.chooseRole(this.tableData[0])
}
})
}) })
})
}, },
getMenu() { getMenu() {
this.rightLoading1 = true this.rightLoading1 = true
...@@ -309,7 +309,7 @@ export default { ...@@ -309,7 +309,7 @@ export default {
url: this.$http.adornUrl(`/sys/menu/getMenu`), url: this.$http.adornUrl(`/sys/menu/getMenu`),
method: 'get', method: 'get',
params: this.$http.adornParams({ params: this.$http.adornParams({
stationId: localStorage.getItem('stationId') stationId: ''
}) })
}).then((data) => { }).then((data) => {
if (data && data.code === 0) { if (data && data.code === 0) {
...@@ -439,10 +439,10 @@ export default { ...@@ -439,10 +439,10 @@ export default {
background-color: #f6f7fb; background-color: #f6f7fb;
.active1:after { .active1:after {
background: url("../../../assets/images/active1.png"); background: url('../../../assets/images/active1.png');
background-repeat: no-repeat; background-repeat: no-repeat;
transition: 0.3s; transition: 0.3s;
content: ""; content: '';
display: inline-flex; display: inline-flex;
width: 5px; width: 5px;
height: 10px; height: 10px;
...@@ -452,11 +452,11 @@ export default { ...@@ -452,11 +452,11 @@ export default {
} }
.active2:after { .active2:after {
background: url("../../../assets/images/active1.png"); background: url('../../../assets/images/active1.png');
transform: rotate(90deg); transform: rotate(90deg);
transition: 0.3s; transition: 0.3s;
background-repeat: no-repeat; background-repeat: no-repeat;
content: ""; content: '';
display: inline-flex; display: inline-flex;
width: 10px; width: 10px;
height: 10px; height: 10px;
...@@ -481,7 +481,7 @@ export default { ...@@ -481,7 +481,7 @@ export default {
} }
.div_content { .div_content {
transition: height .3s; transition: height 0.3s;
height: 0; height: 0;
overflow: hidden; overflow: hidden;
...@@ -520,7 +520,6 @@ export default { ...@@ -520,7 +520,6 @@ export default {
} }
} }
} }
} }
} }
</style> </style>
...@@ -53,7 +53,7 @@ export default { ...@@ -53,7 +53,7 @@ export default {
typeId: '', typeId: '',
leftLoading: false, leftLoading: false,
rightLoading: false, rightLoading: false,
stationId: localStorage.getItem('stationId'), stationId: '',
typeData: [], typeData: [],
thresholdData: [], thresholdData: [],
addOrUpdateVisible: false, addOrUpdateVisible: false,
......
...@@ -128,7 +128,7 @@ const frameIn = [ ...@@ -128,7 +128,7 @@ const frameIn = [
{ path: 'room', name: `${pre}room`, component: () => import('@/pages/sys/room'), meta: { ...meta, title: '场景维护' } }, { 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: '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: '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: '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: '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: '数据字典' } } { 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