Showing
7 changed files
with
46 additions
and
113 deletions
@@ -9,20 +9,8 @@ | @@ -9,20 +9,8 @@ | ||
9 | :style="[{ width: !isFold ? '0rem' : '20rem' }]" | 9 | :style="[{ width: !isFold ? '0rem' : '20rem' }]" |
10 | :class="[!isFold ? 'w-1/4 xl:w-1/1' : 'w-1/4 xl:w-1/5']" | 10 | :class="[!isFold ? 'w-1/4 xl:w-1/1' : 'w-1/4 xl:w-1/5']" |
11 | /> | 11 | /> |
12 | - <div | ||
13 | - style="position: absolute; top: 1.48rem; left: 6.5rem; cursor: pointer" | ||
14 | - :style="[{ left: !isFold ? '0.5rem' : '6.5rem' }, { top: !isFold ? '0.8rem' : '1.48rem' }]" | ||
15 | - > | ||
16 | - <Tooltip v-if="isFold"> | ||
17 | - <template #title>隐藏组织</template> | ||
18 | - <MenuFoldOutlined @click="changeWidth(true)" /> | ||
19 | - </Tooltip> | ||
20 | - <Tooltip v-else> | ||
21 | - <template #title>打开组织</template> | ||
22 | - <MenuUnfoldOutlined @click="changeWidth(false)" /> | ||
23 | - </Tooltip> | ||
24 | - </div> | ||
25 | <BasicTable | 12 | <BasicTable |
13 | + style="flex: auto" | ||
26 | @register="registerTable" | 14 | @register="registerTable" |
27 | :searchInfo="searchInfo" | 15 | :searchInfo="searchInfo" |
28 | class="w-3/4 xl:w-4/5" | 16 | class="w-3/4 xl:w-4/5" |
@@ -106,7 +94,7 @@ | @@ -106,7 +94,7 @@ | ||
106 | import { useResetOrganizationTree, OrganizationIdTree } from '/@/views/common/organizationIdTree'; | 94 | import { useResetOrganizationTree, OrganizationIdTree } from '/@/views/common/organizationIdTree'; |
107 | import { deleteAlarmConfig, queryAlarmConfig } from '/@/api/alarm/config/alarmConfig'; | 95 | import { deleteAlarmConfig, queryAlarmConfig } from '/@/api/alarm/config/alarmConfig'; |
108 | import { searchFormSchema, columns } from './config.data'; | 96 | import { searchFormSchema, columns } from './config.data'; |
109 | - import { Modal, Tooltip } from 'ant-design-vue'; | 97 | + import { Modal } from 'ant-design-vue'; |
110 | import { JsonPreview } from '/@/components/CodeEditor'; | 98 | import { JsonPreview } from '/@/components/CodeEditor'; |
111 | import { findDictItemByCode } from '/@/api/system/dict'; | 99 | import { findDictItemByCode } from '/@/api/system/dict'; |
112 | import { alarmContactGetPage } from '/@/api/device/deviceConfigApi'; | 100 | import { alarmContactGetPage } from '/@/api/device/deviceConfigApi'; |
@@ -115,7 +103,6 @@ | @@ -115,7 +103,6 @@ | ||
115 | import { putAlarmConfigStatus } from '/@/api/alarm/config/alarmConfig'; | 103 | import { putAlarmConfigStatus } from '/@/api/alarm/config/alarmConfig'; |
116 | import { useMessage } from '/@/hooks/web/useMessage'; | 104 | import { useMessage } from '/@/hooks/web/useMessage'; |
117 | import { Authority } from '/@/components/Authority'; | 105 | import { Authority } from '/@/components/Authority'; |
118 | - import { MenuFoldOutlined, MenuUnfoldOutlined } from '@ant-design/icons-vue'; | ||
119 | 106 | ||
120 | export default defineComponent({ | 107 | export default defineComponent({ |
121 | components: { | 108 | components: { |
@@ -126,9 +113,6 @@ | @@ -126,9 +113,6 @@ | ||
126 | ContactDrawer, | 113 | ContactDrawer, |
127 | Switch, | 114 | Switch, |
128 | Authority, | 115 | Authority, |
129 | - MenuFoldOutlined, | ||
130 | - MenuUnfoldOutlined, | ||
131 | - Tooltip, | ||
132 | }, | 116 | }, |
133 | setup() { | 117 | setup() { |
134 | const isFold = ref(true); | 118 | const isFold = ref(true); |
@@ -9,20 +9,8 @@ | @@ -9,20 +9,8 @@ | ||
9 | @select="handleSelect" | 9 | @select="handleSelect" |
10 | ref="organizationIdTreeRef" | 10 | ref="organizationIdTreeRef" |
11 | /> | 11 | /> |
12 | - <div | ||
13 | - style="position: absolute; top: 1.48rem; left: 6.5rem; cursor: pointer" | ||
14 | - :style="[{ left: !isFold ? '0.5rem' : '6.5rem' }, { top: !isFold ? '0.8rem' : '1.48rem' }]" | ||
15 | - > | ||
16 | - <Tooltip v-if="isFold"> | ||
17 | - <template #title>隐藏组织</template> | ||
18 | - <MenuFoldOutlined @click="changeWidth(true)" /> | ||
19 | - </Tooltip> | ||
20 | - <Tooltip v-else> | ||
21 | - <template #title>打开组织</template> | ||
22 | - <MenuUnfoldOutlined @click="changeWidth(false)" /> | ||
23 | - </Tooltip> | ||
24 | - </div> | ||
25 | <BasicTable | 12 | <BasicTable |
13 | + style="flex: auto" | ||
26 | @register="registerTable" | 14 | @register="registerTable" |
27 | :searchInfo="searchInfo" | 15 | :searchInfo="searchInfo" |
28 | class="w-3/4 xl:w-4/5" | 16 | class="w-3/4 xl:w-4/5" |
@@ -82,8 +70,6 @@ | @@ -82,8 +70,6 @@ | ||
82 | import { getAlarmContact, deleteAlarmContact } from '/@/api/alarm/contact/alarmContact'; | 70 | import { getAlarmContact, deleteAlarmContact } from '/@/api/alarm/contact/alarmContact'; |
83 | import { searchFormSchema, columns } from './config.data'; | 71 | import { searchFormSchema, columns } from './config.data'; |
84 | import { Authority } from '/@/components/Authority'; | 72 | import { Authority } from '/@/components/Authority'; |
85 | - import { MenuFoldOutlined, MenuUnfoldOutlined } from '@ant-design/icons-vue'; | ||
86 | - import { Tooltip } from 'ant-design-vue'; | ||
87 | 73 | ||
88 | export default defineComponent({ | 74 | export default defineComponent({ |
89 | components: { | 75 | components: { |
@@ -93,9 +79,6 @@ | @@ -93,9 +79,6 @@ | ||
93 | TableAction, | 79 | TableAction, |
94 | ContactDrawer, | 80 | ContactDrawer, |
95 | Authority, | 81 | Authority, |
96 | - MenuFoldOutlined, | ||
97 | - MenuUnfoldOutlined, | ||
98 | - Tooltip, | ||
99 | }, | 82 | }, |
100 | setup() { | 83 | setup() { |
101 | const isFold = ref(true); | 84 | const isFold = ref(true); |
@@ -9,20 +9,8 @@ | @@ -9,20 +9,8 @@ | ||
9 | :style="[{ width: !isFold ? '0rem' : '20rem' }]" | 9 | :style="[{ width: !isFold ? '0rem' : '20rem' }]" |
10 | :class="[!isFold ? 'w-1/4 xl:w-1/1' : 'w-1/4 xl:w-1/5']" | 10 | :class="[!isFold ? 'w-1/4 xl:w-1/1' : 'w-1/4 xl:w-1/5']" |
11 | /> | 11 | /> |
12 | - <div | ||
13 | - style="position: absolute; top: 1.48rem; left: 6.5rem; cursor: pointer" | ||
14 | - :style="[{ left: !isFold ? '0.5rem' : '6.5rem' }, { top: !isFold ? '0.8rem' : '1.48rem' }]" | ||
15 | - > | ||
16 | - <Tooltip v-if="isFold"> | ||
17 | - <template #title>隐藏组织</template> | ||
18 | - <MenuFoldOutlined @click="changeWidth(true)" /> | ||
19 | - </Tooltip> | ||
20 | - <Tooltip v-else> | ||
21 | - <template #title>打开组织</template> | ||
22 | - <MenuUnfoldOutlined @click="changeWidth(false)" /> | ||
23 | - </Tooltip> | ||
24 | - </div> | ||
25 | <BasicTable | 12 | <BasicTable |
13 | + style="flex: auto" | ||
26 | :clickToRowSelect="false" | 14 | :clickToRowSelect="false" |
27 | @register="registerTable" | 15 | @register="registerTable" |
28 | :searchInfo="searchInfo" | 16 | :searchInfo="searchInfo" |
@@ -104,8 +92,6 @@ | @@ -104,8 +92,6 @@ | ||
104 | import { useModal } from '/@/components/Modal'; | 92 | import { useModal } from '/@/components/Modal'; |
105 | import { Authority } from '/@/components/Authority'; | 93 | import { Authority } from '/@/components/Authority'; |
106 | import { useBatchDelete } from '/@/hooks/web/useBatchDelete'; | 94 | import { useBatchDelete } from '/@/hooks/web/useBatchDelete'; |
107 | - import { MenuFoldOutlined, MenuUnfoldOutlined } from '@ant-design/icons-vue'; | ||
108 | - import { Tooltip } from 'ant-design-vue'; | ||
109 | 95 | ||
110 | export default defineComponent({ | 96 | export default defineComponent({ |
111 | components: { | 97 | components: { |
@@ -117,9 +103,6 @@ | @@ -117,9 +103,6 @@ | ||
117 | VideoPreviewModal, | 103 | VideoPreviewModal, |
118 | TableImg, | 104 | TableImg, |
119 | Authority, | 105 | Authority, |
120 | - MenuFoldOutlined, | ||
121 | - MenuUnfoldOutlined, | ||
122 | - Tooltip, | ||
123 | }, | 106 | }, |
124 | setup() { | 107 | setup() { |
125 | const isFold = ref(true); | 108 | const isFold = ref(true); |
1 | <template> | 1 | <template> |
2 | - <div class="bg-white m-4 mr-0 overflow-hidden"> | 2 | + <div :style="foldIconStyle"> |
3 | + <Tooltip v-if="isFold"> | ||
4 | + <template #title>隐藏组织</template> | ||
5 | + <MenuFoldOutlined @click="changeWidth(true)" /> | ||
6 | + </Tooltip> | ||
7 | + <Tooltip v-else> | ||
8 | + <template #title>打开组织</template> | ||
9 | + <MenuUnfoldOutlined @click="changeWidth(false)" /> | ||
10 | + </Tooltip> | ||
11 | + </div> | ||
12 | + <div v-show="isFold" class="bg-white m-4 mr-0 overflow-hidden"> | ||
3 | <BasicTree | 13 | <BasicTree |
4 | - v-if="treeData.length > 0" | ||
5 | title="组织列表" | 14 | title="组织列表" |
6 | toolbar | 15 | toolbar |
7 | search | 16 | search |
@@ -15,13 +24,39 @@ | @@ -15,13 +24,39 @@ | ||
15 | </div> | 24 | </div> |
16 | </template> | 25 | </template> |
17 | <script lang="ts" setup name="OrganizationIdTree"> | 26 | <script lang="ts" setup name="OrganizationIdTree"> |
18 | - import { onMounted, ref } from 'vue'; | 27 | + import { onMounted, ref, unref } from 'vue'; |
19 | import { BasicTree, TreeItem } from '/@/components/Tree'; | 28 | import { BasicTree, TreeItem } from '/@/components/Tree'; |
20 | import { getOrganizationList } from '/@/api/system/system'; | 29 | import { getOrganizationList } from '/@/api/system/system'; |
30 | + import { MenuFoldOutlined, MenuUnfoldOutlined } from '@ant-design/icons-vue'; | ||
31 | + import { computed } from '@vue/reactivity'; | ||
21 | const emit = defineEmits(['select']); | 32 | const emit = defineEmits(['select']); |
22 | const treeData = ref<TreeItem[]>([]); | 33 | const treeData = ref<TreeItem[]>([]); |
23 | const selectedKeys = ref<string[]>(); | 34 | const selectedKeys = ref<string[]>(); |
24 | const treeExpandData = ref([]); | 35 | const treeExpandData = ref([]); |
36 | + | ||
37 | + const isFold = ref(false); | ||
38 | + | ||
39 | + const changeWidth = (e) => { | ||
40 | + if (e) { | ||
41 | + isFold.value = false; | ||
42 | + } else { | ||
43 | + isFold.value = true; | ||
44 | + } | ||
45 | + }; | ||
46 | + | ||
47 | + const foldIconStyle = computed(() => { | ||
48 | + return unref(isFold) | ||
49 | + ? { | ||
50 | + padding: '22px 0 0 16px', | ||
51 | + position: 'absolute', | ||
52 | + left: '85px', | ||
53 | + lineHeight: '24px', | ||
54 | + } | ||
55 | + : { | ||
56 | + padding: '22px 0 0 16px', | ||
57 | + }; | ||
58 | + }); | ||
59 | + | ||
25 | //获取所有父级id | 60 | //获取所有父级id |
26 | function findForAllId(data = [], arr = []) { | 61 | function findForAllId(data = [], arr = []) { |
27 | for (const item of data) { | 62 | for (const item of data) { |
@@ -9,20 +9,8 @@ | @@ -9,20 +9,8 @@ | ||
9 | :style="[{ width: !isFold ? '0rem' : '20rem' }]" | 9 | :style="[{ width: !isFold ? '0rem' : '20rem' }]" |
10 | :class="[!isFold ? 'w-1/4 xl:w-1/1' : 'w-1/4 xl:w-1/5']" | 10 | :class="[!isFold ? 'w-1/4 xl:w-1/1' : 'w-1/4 xl:w-1/5']" |
11 | /> | 11 | /> |
12 | - <div | ||
13 | - style="position: absolute; top: 1.48rem; left: 6.5rem; cursor: pointer" | ||
14 | - :style="[{ left: !isFold ? '0.5rem' : '6.5rem' }, { top: !isFold ? '0.8rem' : '1.48rem' }]" | ||
15 | - > | ||
16 | - <Tooltip v-if="isFold"> | ||
17 | - <template #title>隐藏组织</template> | ||
18 | - <MenuFoldOutlined @click="changeWidth(true)" /> | ||
19 | - </Tooltip> | ||
20 | - <Tooltip v-else> | ||
21 | - <template #title>打开组织</template> | ||
22 | - <MenuUnfoldOutlined @click="changeWidth(false)" /> | ||
23 | - </Tooltip> | ||
24 | - </div> | ||
25 | <BasicTable | 12 | <BasicTable |
13 | + style="flex: auto" | ||
26 | :clickToRowSelect="false" | 14 | :clickToRowSelect="false" |
27 | @register="registerTable" | 15 | @register="registerTable" |
28 | :searchInfo="searchInfo" | 16 | :searchInfo="searchInfo" |
@@ -99,8 +87,6 @@ | @@ -99,8 +87,6 @@ | ||
99 | import { useBatchDelete } from '/@/hooks/web/useBatchDelete'; | 87 | import { useBatchDelete } from '/@/hooks/web/useBatchDelete'; |
100 | import { getAppEnvConfig, isDevMode } from '/@/utils/env'; | 88 | import { getAppEnvConfig, isDevMode } from '/@/utils/env'; |
101 | import { Authority } from '/@/components/Authority'; | 89 | import { Authority } from '/@/components/Authority'; |
102 | - import { MenuFoldOutlined, MenuUnfoldOutlined } from '@ant-design/icons-vue'; | ||
103 | - import { Tooltip } from 'ant-design-vue'; | ||
104 | 90 | ||
105 | export default defineComponent({ | 91 | export default defineComponent({ |
106 | components: { | 92 | components: { |
@@ -110,9 +96,6 @@ | @@ -110,9 +96,6 @@ | ||
110 | TableAction, | 96 | TableAction, |
111 | ContactDrawer, | 97 | ContactDrawer, |
112 | Authority, | 98 | Authority, |
113 | - MenuFoldOutlined, | ||
114 | - MenuUnfoldOutlined, | ||
115 | - Tooltip, | ||
116 | }, | 99 | }, |
117 | setup() { | 100 | setup() { |
118 | const isFold = ref(true); | 101 | const isFold = ref(true); |
@@ -8,20 +8,8 @@ | @@ -8,20 +8,8 @@ | ||
8 | :class="[!isFold ? 'w-1/4 xl:w-1/1' : 'w-1/4 xl:w-1/5']" | 8 | :class="[!isFold ? 'w-1/4 xl:w-1/1' : 'w-1/4 xl:w-1/5']" |
9 | ref="organizationIdTreeRef" | 9 | ref="organizationIdTreeRef" |
10 | /> | 10 | /> |
11 | - <div | ||
12 | - style="position: absolute; top: 1.48rem; left: 6.5rem; cursor: pointer" | ||
13 | - :style="[{ left: !isFold ? '0.5rem' : '6.5rem' }, { top: !isFold ? '0.8rem' : '1.48rem' }]" | ||
14 | - > | ||
15 | - <Tooltip v-if="isFold"> | ||
16 | - <template #title>隐藏组织</template> | ||
17 | - <MenuFoldOutlined @click="changeWidth(true)" /> | ||
18 | - </Tooltip> | ||
19 | - <Tooltip v-else> | ||
20 | - <template #title>打开组织</template> | ||
21 | - <MenuUnfoldOutlined @click="changeWidth(false)" /> | ||
22 | - </Tooltip> | ||
23 | - </div> | ||
24 | <BasicTable | 11 | <BasicTable |
12 | + style="flex: auto" | ||
25 | @register="registerTable" | 13 | @register="registerTable" |
26 | class="w-5/6 xl:w-4/5" | 14 | class="w-5/6 xl:w-4/5" |
27 | :class="[!isFold ? 'w-423 xl:w-423' : 'w-5/6 xl:w-4/5']" | 15 | :class="[!isFold ? 'w-423 xl:w-423' : 'w-5/6 xl:w-4/5']" |
@@ -201,11 +189,7 @@ | @@ -201,11 +189,7 @@ | ||
201 | import { authBtn } from '/@/enums/roleEnum'; | 189 | import { authBtn } from '/@/enums/roleEnum'; |
202 | import { useBatchDelete } from '/@/hooks/web/useBatchDelete'; | 190 | import { useBatchDelete } from '/@/hooks/web/useBatchDelete'; |
203 | import { useCopyToClipboard } from '/@/hooks/web/useCopyToClipboard'; | 191 | import { useCopyToClipboard } from '/@/hooks/web/useCopyToClipboard'; |
204 | - import { | ||
205 | - QuestionCircleOutlined, | ||
206 | - MenuFoldOutlined, | ||
207 | - MenuUnfoldOutlined, | ||
208 | - } from '@ant-design/icons-vue'; | 192 | + import { QuestionCircleOutlined } from '@ant-design/icons-vue'; |
209 | import { Authority } from '/@/components/Authority'; | 193 | import { Authority } from '/@/components/Authority'; |
210 | 194 | ||
211 | export default defineComponent({ | 195 | export default defineComponent({ |
@@ -224,8 +208,6 @@ | @@ -224,8 +208,6 @@ | ||
224 | QuestionCircleOutlined, | 208 | QuestionCircleOutlined, |
225 | Popover, | 209 | Popover, |
226 | Authority, | 210 | Authority, |
227 | - MenuFoldOutlined, | ||
228 | - MenuUnfoldOutlined, | ||
229 | }, | 211 | }, |
230 | setup(_) { | 212 | setup(_) { |
231 | const isFold = ref(true); | 213 | const isFold = ref(true); |
@@ -9,20 +9,8 @@ | @@ -9,20 +9,8 @@ | ||
9 | :style="[{ width: !isFold ? '0rem' : '20rem' }]" | 9 | :style="[{ width: !isFold ? '0rem' : '20rem' }]" |
10 | :class="[!isFold ? 'w-1/4 xl:w-1/1' : 'w-1/4 xl:w-1/5']" | 10 | :class="[!isFold ? 'w-1/4 xl:w-1/1' : 'w-1/4 xl:w-1/5']" |
11 | /> | 11 | /> |
12 | - <div | ||
13 | - style="position: absolute; top: 1.48rem; left: 6.5rem; cursor: pointer" | ||
14 | - :style="[{ left: !isFold ? '0.5rem' : '6.5rem' }, { top: !isFold ? '0.8rem' : '1.48rem' }]" | ||
15 | - > | ||
16 | - <Tooltip v-if="isFold"> | ||
17 | - <template #title>隐藏组织</template> | ||
18 | - <MenuFoldOutlined @click="changeWidth(true)" /> | ||
19 | - </Tooltip> | ||
20 | - <Tooltip v-else> | ||
21 | - <template #title>打开组织</template> | ||
22 | - <MenuUnfoldOutlined @click="changeWidth(false)" /> | ||
23 | - </Tooltip> | ||
24 | - </div> | ||
25 | <BasicTable | 12 | <BasicTable |
13 | + style="flex: auto" | ||
26 | :clickToRowSelect="false" | 14 | :clickToRowSelect="false" |
27 | @register="registerTable" | 15 | @register="registerTable" |
28 | class="w-3/4 xl:w-4/5" | 16 | class="w-3/4 xl:w-4/5" |
@@ -113,8 +101,6 @@ | @@ -113,8 +101,6 @@ | ||
113 | import { useGo } from '/@/hooks/web/usePage'; | 101 | import { useGo } from '/@/hooks/web/usePage'; |
114 | import { useBatchDelete } from '/@/hooks/web/useBatchDelete'; | 102 | import { useBatchDelete } from '/@/hooks/web/useBatchDelete'; |
115 | import { Authority } from '/@/components/Authority'; | 103 | import { Authority } from '/@/components/Authority'; |
116 | - import { MenuFoldOutlined, MenuUnfoldOutlined } from '@ant-design/icons-vue'; | ||
117 | - import { Tooltip } from 'ant-design-vue'; | ||
118 | 104 | ||
119 | export default defineComponent({ | 105 | export default defineComponent({ |
120 | name: 'AccountManagement', | 106 | name: 'AccountManagement', |
@@ -126,9 +112,6 @@ | @@ -126,9 +112,6 @@ | ||
126 | TableAction, | 112 | TableAction, |
127 | Tag, | 113 | Tag, |
128 | Authority, | 114 | Authority, |
129 | - MenuFoldOutlined, | ||
130 | - MenuUnfoldOutlined, | ||
131 | - Tooltip, | ||
132 | }, | 115 | }, |
133 | setup() { | 116 | setup() { |
134 | const isFold = ref(true); | 117 | const isFold = ref(true); |