diff --git a/packages/2.0.5/AppGridMember/AppGridMember.vue b/packages/2.0.5/AppGridMember/AppGridMember.vue
index ee665370..3197d79a 100644
--- a/packages/2.0.5/AppGridMember/AppGridMember.vue
+++ b/packages/2.0.5/AppGridMember/AppGridMember.vue
@@ -49,9 +49,9 @@
tabs () {
const tabList = [
{label: '网格员信息', name: 'List', comp: List, permission: ''},
- // {label: '申报信息', name: 'ApplyList', comp: ApplyList, permission: ''}
+ {label: '申报信息', name: 'ApplyList', comp: ApplyList, permission: 'appgirdmemberapply'}
].filter(item => {
- return true
+ return item.name !== 'ApplyList' || this.permissions(item.app_appgirdmemberapply_detail)
})
return tabList
diff --git a/packages/wechat/AppAddressBook/components/List.vue b/packages/wechat/AppAddressBook/components/List.vue
index bd8d77c0..ebc7b9fe 100644
--- a/packages/wechat/AppAddressBook/components/List.vue
+++ b/packages/wechat/AppAddressBook/components/List.vue
@@ -34,17 +34,17 @@
+ :filter-node-method="filterNode"
+ ref="tree"
+ :props="defaultProps"
+ node-key="id"
+ :data="unitList"
+ highlight-current
+ @node-contextmenu="nodeContextmenu"
+ :current-node-key="search.departmentId"
+ :default-expanded-keys="defaultExpanded"
+ :default-checked-keys="defaultChecked"
+ @current-change="onTreeChange">
-
)
},
- handleSliderOption(command, data) {
- this.selected = JSON.parse(JSON.stringify({...data, command}))
- this.selected.areaId = data.areaId || this.user.info.areaId
- if (command == "edit") {//修改名称
+ handleSliderOption(e) {
+ this.selected = {
+ command: e.type,
+ ...e.node
+ }
+ this.selected.areaId = e.node.areaId || this.user.info.areaId
+ if (e.type == "edit") {//修改名称
this.dialog = true
- } else if (command == "area") {//绑定areaId
+ } else if (e.type == "area") {//绑定areaId
this.$refs.BindArea?.chooseArea()
- } else if (command == "locate") {//地图标绘
- this.latlng = data.lat && data.lng ? {
- lat: data.lat,
- lng: data.lng
+ } else if (e.type == "locate") {//地图标绘
+ this.latlng = e.node.lat && e.node.lng ? {
+ lat: e.node.lat,
+ lng: e.node.lng
} : ''
this.locate = true
}
diff --git a/project/shandong10086/apps/shandong/monitor/components/deviceSlider.vue b/project/shandong10086/apps/shandong/monitor/components/deviceSlider.vue
index 0ed1f089..a0de9b05 100644
--- a/project/shandong10086/apps/shandong/monitor/components/deviceSlider.vue
+++ b/project/shandong10086/apps/shandong/monitor/components/deviceSlider.vue
@@ -24,10 +24,17 @@
设备列表
-
-
-
+
+
@@ -82,8 +89,14 @@ export default {
noArea: [],
staData: [],
name: '',
+ isShowMenu: false,
search: {
bind: ''
+ },
+ menuInfo: {
+ x: '',
+ y: '',
+ node: {}
}
}
},
@@ -91,6 +104,10 @@ export default {
handleShow() {
this.$emit('update:show', !this.show)
},
+
+ bindEvent() {
+ this.isShowMenu = false
+ },
getDevices() {
this.ins.post("/app/appzyvideoequipment/tree", null, {
params: {size: 999}
@@ -103,7 +120,27 @@ export default {
}
})
},
+
+ handleTreeCommand (e, node) {
+ this.$emit('treeCommand', {
+ type: e,
+ node
+ })
+ },
+
+ nodeContextmenu(e, node) {
+ this.isShowMenu = true
+ let y = e.y + 6
+ if (y + 202 > document.body.clientHeight) {
+ y = y - 202
+ }
+ this.menuInfo = {
+ x: e.x + 16, y,
+ node
+ }
+ },
handleNodeClick(data) {
+ this.isShowMenu = false
this.$emit('select', data)
},
handleFilter(v, data) {
@@ -124,6 +161,10 @@ export default {
created() {
this.dict.load("deviceStatus")
this.getDevices()
+ },
+
+ mounted () {
+ document.querySelector('html').addEventListener('click', this.bindEvent)
}
}
@@ -134,12 +175,36 @@ export default {
align-items: center;
flex-shrink: 0;
color: #fff;
+ overflow: hidden;
div[flex] {
display: flex;
align-items: center;
}
+ .deviceList {
+ overflow: auto;
+
+ ::v-deep .el-tree {
+ width: -webkit-fit-content;
+ width: -moz-fit-content;
+ width: fit-content;
+ min-width: 100%;
+ }
+ &::-webkit-scrollbar {
+ width : 10px;
+ height: 15px;
+ }
+ &::-webkit-scrollbar-thumb {
+ box-shadow: inset 0 0 3px rgba(0, 0, 0, 0.2);
+ background: #535353;
+ }
+ &::-webkit-scrollbar-track {
+ box-shadow: inset 0 0 3px rgba(0, 0, 0, 0.2);
+ background: #fff;
+ }
+ }
+
div[fill] {
flex: 1;
min-width: 0;