|
@@ -9,7 +9,12 @@
|
|
|
>
|
|
|
添加分组
|
|
|
</el-button>
|
|
|
- <el-button v-else type="primary" @click="addGroup()" :disabled="store.state.authorities.indexOf('新增')==-1">
|
|
|
+ <el-button
|
|
|
+ v-else
|
|
|
+ type="primary"
|
|
|
+ @click="addGroup()"
|
|
|
+ :disabled="store.state.authorities.indexOf('新增') == -1"
|
|
|
+ >
|
|
|
添加分组
|
|
|
</el-button>
|
|
|
<el-button
|
|
@@ -18,7 +23,14 @@
|
|
|
>
|
|
|
添加站点
|
|
|
</el-button>
|
|
|
- <el-button v-else type="primary" @click="addSite()" :disabled="store.state.authorities.indexOf('新增')==-1">添加站点</el-button>
|
|
|
+ <el-button
|
|
|
+ v-else
|
|
|
+ type="primary"
|
|
|
+ @click="addSite()"
|
|
|
+ :disabled="store.state.authorities.indexOf('新增') == -1"
|
|
|
+ >
|
|
|
+ 添加站点
|
|
|
+ </el-button>
|
|
|
</div>
|
|
|
<el-input
|
|
|
placeholder="输入关键字进行过滤"
|
|
@@ -161,392 +173,299 @@
|
|
|
</div>
|
|
|
</template>
|
|
|
|
|
|
-<script>
|
|
|
-import { defineComponent, ref, reactive, watch, onMounted, nextTick } from 'vue'
|
|
|
-
|
|
|
-import basicInfo from './basicInfo'
|
|
|
-import WatchDog from './watchDog'
|
|
|
-import variableList from './variableList'
|
|
|
-import camera from './camera'
|
|
|
-import PowerScore from './powerScore'
|
|
|
-
|
|
|
-import groupInfoCom from './groupInfoCom'
|
|
|
-import addGroupCom from './addGroupCom'
|
|
|
-import addSiteCom from './addSiteCom'
|
|
|
-
|
|
|
-import * as api from '@/api/siteManage/index'
|
|
|
-import { ElMessage } from 'element-plus'
|
|
|
-import { useStore } from 'vuex'
|
|
|
-import { useRoute } from 'vue-router'
|
|
|
-
|
|
|
-export default defineComponent({
|
|
|
- components: {
|
|
|
- basicInfo,
|
|
|
- WatchDog,
|
|
|
- variableList,
|
|
|
- camera,
|
|
|
- PowerScore,
|
|
|
- groupInfoCom,
|
|
|
- addGroupCom,
|
|
|
- addSiteCom,
|
|
|
- },
|
|
|
- setup() {
|
|
|
- const store = useStore()
|
|
|
- const flag2 = ref(false)
|
|
|
- const tree = ref(null)
|
|
|
- const showTree = ref(true)
|
|
|
- const defaultExpand = ref(0)
|
|
|
- const showDialog = ref(false)
|
|
|
- const showDialog2 = ref(false)
|
|
|
- const dialogTitle = ref('')
|
|
|
- const treeLevel = ref(3)
|
|
|
- const groupingId = ref(1)
|
|
|
- const siteId = ref(0)
|
|
|
- const labelCom = ref('')
|
|
|
- const siteName = ref('')
|
|
|
- const label = ref('')
|
|
|
- const activeName = ref('first')
|
|
|
- const filterText = ref('')
|
|
|
- const selectNode = ref(0)
|
|
|
-
|
|
|
- const route = useRoute()
|
|
|
- let num = route.query.num
|
|
|
- const data = ref([
|
|
|
- {
|
|
|
- label: '所有站点',
|
|
|
- children: [],
|
|
|
- },
|
|
|
- ])
|
|
|
-
|
|
|
- // const data2 = ref([
|
|
|
- // {
|
|
|
- // grouping_id: 1,
|
|
|
- // id: 1,
|
|
|
- // label: '所有站点',
|
|
|
- // children: [
|
|
|
- // {
|
|
|
- // id: 1,
|
|
|
- // label: '分组测试1',
|
|
|
- // grouping_id: 1,
|
|
|
- // children: [
|
|
|
- // {
|
|
|
- // id: 368,
|
|
|
- // label: '测试站点89',
|
|
|
- // },
|
|
|
- // {
|
|
|
- // id: 367,
|
|
|
- // label: '测试站点88',
|
|
|
- // },
|
|
|
- // ],
|
|
|
- // },
|
|
|
- // {
|
|
|
- // grouping_id: 0,
|
|
|
- // id: 5,
|
|
|
- // label: '中国铁路上海...',
|
|
|
- // },
|
|
|
- // {
|
|
|
- // grouping_id: 0,
|
|
|
- // id: 5,
|
|
|
- // label: '上海拓石...',
|
|
|
- // },
|
|
|
- // ],
|
|
|
- // },
|
|
|
- // ])
|
|
|
- // const defaultProps2 = ref({
|
|
|
- // children: 'children',
|
|
|
- // label: 'label',
|
|
|
- // })
|
|
|
-
|
|
|
- const defaultProps = ref({
|
|
|
- children: 'children',
|
|
|
- label: 'label',
|
|
|
- })
|
|
|
-
|
|
|
- const getMsgFormSon = () => {
|
|
|
- activeName.value = 'third'
|
|
|
- }
|
|
|
- const getMsgFormSon2 = () => {
|
|
|
- siteTreeList()
|
|
|
+<script setup>
|
|
|
+ import { ref, watch, onMounted, nextTick } from 'vue'
|
|
|
+
|
|
|
+ import basicInfo from './basicInfo'
|
|
|
+ import WatchDog from './watchDog'
|
|
|
+ import variableList from './variableList'
|
|
|
+ import camera from './camera'
|
|
|
+ // import PowerScore from './powerScore'
|
|
|
+
|
|
|
+ import groupInfoCom from './groupInfoCom'
|
|
|
+ import addGroupCom from './addGroupCom'
|
|
|
+ import addSiteCom from './addSiteCom'
|
|
|
+
|
|
|
+ import * as api from '@/api/siteManage/index'
|
|
|
+ import { ElMessage } from 'element-plus'
|
|
|
+ import { useStore } from 'vuex'
|
|
|
+ import { useRoute } from 'vue-router'
|
|
|
+
|
|
|
+ const store = useStore()
|
|
|
+ const route = useRoute()
|
|
|
+ const flag2 = ref(false)
|
|
|
+ const tree = ref(null)
|
|
|
+ const showTree = ref(true)
|
|
|
+ const defaultExpand = ref(0)
|
|
|
+ const showDialog = ref(false)
|
|
|
+ const showDialog2 = ref(false)
|
|
|
+ const dialogTitle = ref('')
|
|
|
+ const treeLevel = ref(3)
|
|
|
+ const groupingId = ref(1)
|
|
|
+ const siteId = ref(0)
|
|
|
+ const labelCom = ref('')
|
|
|
+ const siteName = ref('')
|
|
|
+ const label = ref('')
|
|
|
+ const activeName = ref('first')
|
|
|
+ const filterText = ref('')
|
|
|
+ const selectNode = ref(0)
|
|
|
+
|
|
|
+ const data = ref([
|
|
|
+ {
|
|
|
+ label: '所有站点',
|
|
|
+ children: [],
|
|
|
+ },
|
|
|
+ ])
|
|
|
+
|
|
|
+ const defaultProps = ref({
|
|
|
+ children: 'children',
|
|
|
+ label: 'label',
|
|
|
+ })
|
|
|
+
|
|
|
+ const getMsgFormSon = () => {
|
|
|
+ activeName.value = 'third'
|
|
|
+ }
|
|
|
+ const getMsgFormSon2 = () => {
|
|
|
+ siteTreeList()
|
|
|
+ setTimeout(() => {
|
|
|
+ treeLevel.value = 1
|
|
|
+ }, 1000)
|
|
|
+ }
|
|
|
+ //站点基本信息保存后触发
|
|
|
+ const getMsgFormSon3 = (data) => {
|
|
|
+ siteTreeList()
|
|
|
+ setTimeout(() => {
|
|
|
+ tree.value.setCurrentKey(selectNode.value)
|
|
|
+ }, 1000)
|
|
|
+
|
|
|
+ if (data == 0) {
|
|
|
setTimeout(() => {
|
|
|
treeLevel.value = 1
|
|
|
}, 1000)
|
|
|
}
|
|
|
- //站点基本信息保存后触发
|
|
|
- const getMsgFormSon3 = (data) => {
|
|
|
- siteTreeList()
|
|
|
- setTimeout(() => {
|
|
|
- tree.value.setCurrentKey(selectNode.value)
|
|
|
- }, 1000)
|
|
|
-
|
|
|
- if (data == 0) {
|
|
|
- setTimeout(() => {
|
|
|
- treeLevel.value = 1
|
|
|
- }, 1000)
|
|
|
- }
|
|
|
- }
|
|
|
- function mouseenter(data) {
|
|
|
- data.show = true
|
|
|
- }
|
|
|
- function mouseleave(data) {
|
|
|
- data.show = false
|
|
|
- }
|
|
|
-
|
|
|
- const handleNodeClick = (data, obj, node) => {
|
|
|
- activeName.value = 'first'
|
|
|
- data, node
|
|
|
- flag2.value = true
|
|
|
-
|
|
|
- treeLevel.value = obj.level
|
|
|
- groupingId.value = obj.data.grouping_id
|
|
|
- label.value = obj.data.label
|
|
|
- // console.log('obj.data')
|
|
|
- // console.log(obj.data.id)
|
|
|
- selectNode.value = obj.data.id
|
|
|
- labelCom.value = obj.data.label
|
|
|
- store.state.siteManageLabelCom = obj.data.label
|
|
|
- store.state.basicInfoSiteName = ''
|
|
|
+ }
|
|
|
+ function mouseenter(data) {
|
|
|
+ data.show = true
|
|
|
+ }
|
|
|
+ function mouseleave(data) {
|
|
|
+ data.show = false
|
|
|
+ }
|
|
|
|
|
|
- if (treeLevel.value == 3) {
|
|
|
- siteId.value = obj.data.id
|
|
|
- }
|
|
|
- if (treeLevel.value == 2 && groupingId.value == 0) {
|
|
|
- // console.log(obj.data)
|
|
|
- siteId.value = obj.data.id
|
|
|
- }
|
|
|
+ const handleNodeClick = (data, obj, node) => {
|
|
|
+ activeName.value = 'first'
|
|
|
+ data, node
|
|
|
+ flag2.value = true
|
|
|
+
|
|
|
+ treeLevel.value = obj.level
|
|
|
+ groupingId.value = obj.data.grouping_id
|
|
|
+ label.value = obj.data.label
|
|
|
+ // console.log('obj.data')
|
|
|
+ // console.log(obj.data.id)
|
|
|
+ selectNode.value = obj.data.id
|
|
|
+ labelCom.value = obj.data.label
|
|
|
+ store.state.siteManageLabelCom = obj.data.label
|
|
|
+ store.state.basicInfoSiteName = ''
|
|
|
+
|
|
|
+ if (treeLevel.value == 3) {
|
|
|
+ siteId.value = obj.data.id
|
|
|
}
|
|
|
-
|
|
|
- function filterNode(value, data) {
|
|
|
- if (!value) return true
|
|
|
- return data.label.indexOf(value) !== -1
|
|
|
+ if (treeLevel.value == 2 && groupingId.value == 0) {
|
|
|
+ // console.log(obj.data)
|
|
|
+ siteId.value = obj.data.id
|
|
|
}
|
|
|
+ }
|
|
|
|
|
|
- // 异步任务 用于给tree传值
|
|
|
- const writeValue = (val) => {
|
|
|
- return tree.value.filter(val)
|
|
|
- }
|
|
|
- // 定义 watch 监听
|
|
|
- watch(
|
|
|
- filterText,
|
|
|
- (newCount, old, clear) => {
|
|
|
- // 执行异步任务,并得到关闭异步任务的 id
|
|
|
- let id = writeValue(newCount, old)
|
|
|
- // 如果 watch 监听被重复执行了,则会先清除上次未完成的异步任务
|
|
|
- clear(() => clearTimeout(id))
|
|
|
- },
|
|
|
- // watch 刚被创建的时候不执行
|
|
|
- { lazy: true }
|
|
|
- )
|
|
|
- watch(
|
|
|
- activeName,
|
|
|
- (newCount, old, clear) => {
|
|
|
- newCount, old, clear
|
|
|
- // 清除定时器
|
|
|
- clear(() => clearTimeout(store.state.siteCameraTimer))
|
|
|
- },
|
|
|
- // watch 刚被创建的时候不执行
|
|
|
- { lazy: true }
|
|
|
- )
|
|
|
+ function filterNode(value, data) {
|
|
|
+ if (!value) return true
|
|
|
+ return data.label.indexOf(value) !== -1
|
|
|
+ }
|
|
|
|
|
|
- // 新建分或站点的关闭操作
|
|
|
- const closeDialog = (res) => {
|
|
|
- if (store.state.basicInfoConst == 1 && res == '默认关闭') {
|
|
|
- // alert('1 并 默认关闭')
|
|
|
- showDialog.value = false
|
|
|
- showDialog2.value = false //弹框关闭
|
|
|
- siteTreeList()
|
|
|
- flag2.value = false //基本信息不显示
|
|
|
- treeLevel.value = 3 //新建站点 新建分组 按钮不可点击
|
|
|
- } else if (store.state.basicInfoConst == 1) {
|
|
|
- // alert('1')
|
|
|
- showDialog.value = false
|
|
|
- showDialog2.value = false
|
|
|
- }
|
|
|
+ // 异步任务 用于给tree传值
|
|
|
+ const writeValue = (val) => {
|
|
|
+ return tree.value.filter(val)
|
|
|
+ }
|
|
|
+ // 定义 watch 监听
|
|
|
+ watch(
|
|
|
+ filterText,
|
|
|
+ (newCount, old, clear) => {
|
|
|
+ // 执行异步任务,并得到关闭异步任务的 id
|
|
|
+ let id = writeValue(newCount, old)
|
|
|
+ // 如果 watch 监听被重复执行了,则会先清除上次未完成的异步任务
|
|
|
+ clear(() => clearTimeout(id))
|
|
|
+ },
|
|
|
+ // watch 刚被创建的时候不执行
|
|
|
+ { lazy: true }
|
|
|
+ )
|
|
|
+ watch(
|
|
|
+ activeName,
|
|
|
+ (newCount, old, clear) => {
|
|
|
+ newCount, old, clear
|
|
|
+ // 清除定时器
|
|
|
+ clear(() => clearTimeout(store.state.siteCameraTimer))
|
|
|
+ },
|
|
|
+ // watch 刚被创建的时候不执行
|
|
|
+ { lazy: true }
|
|
|
+ )
|
|
|
+
|
|
|
+ // 新建分或站点的关闭操作
|
|
|
+ const closeDialog = (res) => {
|
|
|
+ if (store.state.basicInfoConst == 1 && res == '默认关闭') {
|
|
|
+ // alert('1 并 默认关闭')
|
|
|
+ showDialog.value = false
|
|
|
+ showDialog2.value = false //弹框关闭
|
|
|
+ siteTreeList()
|
|
|
+ flag2.value = false //基本信息不显示
|
|
|
+ treeLevel.value = 3 //新建站点 新建分组 按钮不可点击
|
|
|
+ } else if (store.state.basicInfoConst == 1) {
|
|
|
+ // alert('1')
|
|
|
+ showDialog.value = false
|
|
|
+ showDialog2.value = false
|
|
|
}
|
|
|
+ }
|
|
|
|
|
|
- //站点保存后关闭
|
|
|
- const getFromSon = (param, param2, param3) => {
|
|
|
- // alert('站点保存后关闭')
|
|
|
- siteId.value = param2
|
|
|
- siteName.value = param
|
|
|
- groupingId.value = param3
|
|
|
+ //站点保存后关闭
|
|
|
+ const getFromSon = (param, param2, param3) => {
|
|
|
+ // alert('站点保存后关闭')
|
|
|
+ siteId.value = param2
|
|
|
+ siteName.value = param
|
|
|
+ groupingId.value = param3
|
|
|
|
|
|
- flag2.value = true //基本信息显示
|
|
|
- treeLevel.value = 3 //新建站点 新建分组 按钮不可点击
|
|
|
- }
|
|
|
+ flag2.value = true //基本信息显示
|
|
|
+ treeLevel.value = 3 //新建站点 新建分组 按钮不可点击
|
|
|
+ }
|
|
|
|
|
|
- //新建分组
|
|
|
- const tableItem = reactive([])
|
|
|
- const addGroup = () => {
|
|
|
- tableItem.value = {
|
|
|
- groupingName: '',
|
|
|
- }
|
|
|
- dialogTitle.value = '新建分组'
|
|
|
- showDialog.value = true
|
|
|
+ //新建分组
|
|
|
+ const tableItem = ref([])
|
|
|
+ const addGroup = () => {
|
|
|
+ tableItem.value = {
|
|
|
+ groupingName: '',
|
|
|
}
|
|
|
+ dialogTitle.value = '新建分组'
|
|
|
+ showDialog.value = true
|
|
|
+ }
|
|
|
|
|
|
- //新建站点
|
|
|
- const addSite = () => {
|
|
|
- tableItem.value = {
|
|
|
- id: '',
|
|
|
- stationName: '',
|
|
|
- xh: '',
|
|
|
- userName: '',
|
|
|
- list: [],
|
|
|
- done: '',
|
|
|
- guaZai: '',
|
|
|
- checked: true,
|
|
|
- }
|
|
|
- dialogTitle.value = '新建站点'
|
|
|
- showDialog2.value = true
|
|
|
- }
|
|
|
- const remove = (node, data) => {
|
|
|
- const parent = node.parent
|
|
|
- const children = parent.data.children || parent.data
|
|
|
- const index = children.findIndex((d) => d.id === data.id)
|
|
|
- children.splice(index, 1)
|
|
|
- this.dataSource = [...this.dataSource]
|
|
|
+ //新建站点
|
|
|
+ const addSite = () => {
|
|
|
+ tableItem.value = {
|
|
|
+ id: '',
|
|
|
+ stationName: '',
|
|
|
+ xh: '',
|
|
|
+ userName: '',
|
|
|
+ list: [],
|
|
|
+ done: '',
|
|
|
+ guaZai: '',
|
|
|
+ checked: true,
|
|
|
}
|
|
|
+ dialogTitle.value = '新建站点'
|
|
|
+ showDialog2.value = true
|
|
|
+ }
|
|
|
+ const remove = (node, data) => {
|
|
|
+ const parent = node.parent
|
|
|
+ const children = parent.data.children || parent.data
|
|
|
+ const index = children.findIndex((d) => d.id === data.id)
|
|
|
+ children.splice(index, 1)
|
|
|
+ this.dataSource = [...this.dataSource]
|
|
|
+ }
|
|
|
|
|
|
- //左侧树结构列表
|
|
|
- function siteTreeList() {
|
|
|
- api.siteTreeList({}).then((requset) => {
|
|
|
- if (requset.status === 'SUCCESS') {
|
|
|
- var jsona = JSON.stringify(requset.data)
|
|
|
- var jsonb = jsona.replace(/"grouping_name"/g, '"label"')
|
|
|
- jsonb = jsonb.replace(/"site_list"/g, '"children"')
|
|
|
- jsonb = jsonb.replace(/"site_name"/g, '"label"')
|
|
|
- jsonb = jsonb.replace(/"site_id"/g, '"id"')
|
|
|
- var jsonc = JSON.parse(jsonb)
|
|
|
- data.value[0].children = jsonc
|
|
|
-
|
|
|
- if (route.query.activeName && route.query.siteId) {
|
|
|
- setTimeout(() => {
|
|
|
- tree.value.setCurrentKey(route.query.siteId)
|
|
|
- }, 1000)
|
|
|
- flag2.value = true
|
|
|
- treeLevel.value = 3
|
|
|
- activeName.value = route.query.activeName
|
|
|
- siteId.value = route.query.siteId
|
|
|
- var bb = []
|
|
|
- jsonc.forEach(function (item) {
|
|
|
- if (item.id == siteId.value) {
|
|
|
- bb.push(item)
|
|
|
- }
|
|
|
- })
|
|
|
- store.state.siteManageLabelCom = bb[0].label
|
|
|
- }
|
|
|
- } else {
|
|
|
- ElMessage.error(requset.msg)
|
|
|
+ //左侧树结构列表
|
|
|
+ function siteTreeList() {
|
|
|
+ api.siteTreeList({}).then((requset) => {
|
|
|
+ if (requset.status === 'SUCCESS') {
|
|
|
+ var jsona = JSON.stringify(requset.data)
|
|
|
+ var jsonb = jsona.replace(/"grouping_name"/g, '"label"')
|
|
|
+ jsonb = jsonb.replace(/"site_list"/g, '"children"')
|
|
|
+ jsonb = jsonb.replace(/"site_name"/g, '"label"')
|
|
|
+ jsonb = jsonb.replace(/"site_id"/g, '"id"')
|
|
|
+ var jsonc = JSON.parse(jsonb)
|
|
|
+ data.value[0].children = jsonc
|
|
|
+
|
|
|
+ if (route.query.activeName && route.query.siteId) {
|
|
|
+ setTimeout(() => {
|
|
|
+ tree.value.setCurrentKey(route.query.siteId)
|
|
|
+ }, 1000)
|
|
|
+ flag2.value = true
|
|
|
+ treeLevel.value = 3
|
|
|
+ activeName.value = route.query.activeName
|
|
|
+ siteId.value = route.query.siteId
|
|
|
+ var bb = []
|
|
|
+ jsonc.forEach(function (item) {
|
|
|
+ if (item.id == siteId.value) {
|
|
|
+ bb.push(item)
|
|
|
+ }
|
|
|
+ })
|
|
|
+ store.state.siteManageLabelCom = bb[0].label
|
|
|
}
|
|
|
- })
|
|
|
- }
|
|
|
-
|
|
|
- onMounted(() => {
|
|
|
- siteTreeList()
|
|
|
+ } else {
|
|
|
+ ElMessage.error(requset.msg)
|
|
|
+ }
|
|
|
})
|
|
|
+ }
|
|
|
|
|
|
- nextTick(() => {})
|
|
|
-
|
|
|
- return {
|
|
|
- showDialog,
|
|
|
- showDialog2,
|
|
|
- treeLevel,
|
|
|
- activeName,
|
|
|
- filterText,
|
|
|
- dialogTitle,
|
|
|
- data,
|
|
|
- defaultProps,
|
|
|
- tableItem,
|
|
|
- groupingId,
|
|
|
- siteId,
|
|
|
- labelCom,
|
|
|
- label,
|
|
|
- flag2,
|
|
|
- showTree,
|
|
|
- tree,
|
|
|
-
|
|
|
- getFromSon,
|
|
|
- siteName,
|
|
|
-
|
|
|
- defaultExpand,
|
|
|
- getMsgFormSon,
|
|
|
- getMsgFormSon2,
|
|
|
- getMsgFormSon3,
|
|
|
- mouseenter,
|
|
|
- mouseleave,
|
|
|
- filterNode,
|
|
|
- handleNodeClick,
|
|
|
- closeDialog,
|
|
|
- addGroup,
|
|
|
- addSite,
|
|
|
- remove,
|
|
|
+ onMounted(() => {
|
|
|
+ siteTreeList()
|
|
|
+ })
|
|
|
|
|
|
- selectNode,
|
|
|
- num,
|
|
|
- store
|
|
|
- }
|
|
|
- },
|
|
|
-})
|
|
|
+ nextTick(() => {})
|
|
|
</script>
|
|
|
|
|
|
<style scoped lang="scss">
|
|
|
-.custom-tree-node {
|
|
|
- overflow: hidden;
|
|
|
- white-space: nowrap;
|
|
|
- text-overflow: ellipsis;
|
|
|
- display: block;
|
|
|
-}
|
|
|
-.app-container.page-nesting {
|
|
|
- padding: 0;
|
|
|
- background: rgba(0, 0, 0, 0);
|
|
|
-}
|
|
|
-.grid-content {
|
|
|
- background: #fff;
|
|
|
- height: calc(100vh - 130px);
|
|
|
- overflow-y: auto;
|
|
|
-}
|
|
|
-.el-input__inner {
|
|
|
- border-radius: 20px !important;
|
|
|
-}
|
|
|
-.treeDom {
|
|
|
- width: 290px;
|
|
|
- position: absolute;
|
|
|
- left: 0;
|
|
|
- // margin-left: 20px;
|
|
|
- padding: 20px;
|
|
|
- min-height: calc(100vh - 130px);
|
|
|
-
|
|
|
- .el-icon-search {
|
|
|
- color: #409eff;
|
|
|
+ .custom-tree-node {
|
|
|
+ overflow: hidden;
|
|
|
+ white-space: nowrap;
|
|
|
+ text-overflow: ellipsis;
|
|
|
+ display: block;
|
|
|
+ }
|
|
|
+ .app-container.page-nesting {
|
|
|
+ padding: 0;
|
|
|
+ background: rgba(0, 0, 0, 0);
|
|
|
}
|
|
|
- .el-button {
|
|
|
- width: 100px;
|
|
|
+ .grid-content {
|
|
|
+ background: #fff;
|
|
|
+ height: calc(100vh - 130px);
|
|
|
+ overflow-y: auto;
|
|
|
+ }
|
|
|
+ .el-input__inner {
|
|
|
+ border-radius: 20px !important;
|
|
|
+ }
|
|
|
+ .treeDom {
|
|
|
+ width: 290px;
|
|
|
+ position: absolute;
|
|
|
+ left: 0;
|
|
|
+ // margin-left: 20px;
|
|
|
+ padding: 20px;
|
|
|
+ min-height: calc(100vh - 130px);
|
|
|
+
|
|
|
+ .el-icon-search {
|
|
|
+ color: #409eff;
|
|
|
+ }
|
|
|
+ .el-button {
|
|
|
+ width: 100px;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ .nestingDom {
|
|
|
+ margin-left: 300px;
|
|
|
}
|
|
|
-}
|
|
|
-.nestingDom {
|
|
|
- margin-left: 300px;
|
|
|
-}
|
|
|
</style>
|
|
|
<style lang="scss">
|
|
|
-// tab重置样式
|
|
|
-.el-tabs--card > .el-tabs__header .el-tabs__item {
|
|
|
- line-height: 50px;
|
|
|
- height: 50px;
|
|
|
- font-size: 16px;
|
|
|
-}
|
|
|
-.el-tabs--card > .el-tabs__header .el-tabs__item.is-active {
|
|
|
- border-bottom: 2px solid #409eff;
|
|
|
- color: #409eff;
|
|
|
-}
|
|
|
-.el-tabs--card .el-tabs__header:hover,
|
|
|
-.el-tabs__item:hover {
|
|
|
- color: #409eff !important;
|
|
|
-}
|
|
|
-.el-tabs__header {
|
|
|
- margin-bottom: 0;
|
|
|
-}
|
|
|
-.el-tabs--card > .el-tabs__header .el-tabs__item,
|
|
|
-.el-tabs--card > .el-tabs__header .el-tabs__nav {
|
|
|
- border: none;
|
|
|
-}
|
|
|
+ // tab重置样式
|
|
|
+ .el-tabs--card > .el-tabs__header .el-tabs__item {
|
|
|
+ line-height: 50px;
|
|
|
+ height: 50px;
|
|
|
+ font-size: 16px;
|
|
|
+ }
|
|
|
+ .el-tabs--card > .el-tabs__header .el-tabs__item.is-active {
|
|
|
+ border-bottom: 2px solid #409eff;
|
|
|
+ color: #409eff;
|
|
|
+ }
|
|
|
+ .el-tabs--card .el-tabs__header:hover,
|
|
|
+ .el-tabs__item:hover {
|
|
|
+ color: #409eff !important;
|
|
|
+ }
|
|
|
+ .el-tabs__header {
|
|
|
+ margin-bottom: 0;
|
|
|
+ }
|
|
|
+ .el-tabs--card > .el-tabs__header .el-tabs__item,
|
|
|
+ .el-tabs--card > .el-tabs__header .el-tabs__nav {
|
|
|
+ border: none;
|
|
|
+ }
|
|
|
</style>
|