From 5efb195a3e0c956c4b254408a8868368135eb773 Mon Sep 17 00:00:00 2001 From: zhangxiao <898441624@qq.com> Date: 星期五, 16 八月 2024 14:11:52 +0800 Subject: [PATCH] fix: 模型修改 --- src/views/authority/users/index.vue | 215 ++++++++++++++++++++++++++++++++++------------------- 1 files changed, 139 insertions(+), 76 deletions(-) diff --git a/src/views/authority/users/index.vue b/src/views/authority/users/index.vue index 65eb01d..9208782 100644 --- a/src/views/authority/users/index.vue +++ b/src/views/authority/users/index.vue @@ -64,71 +64,6 @@ </div> </div> </div> - <!-- <a-row> - <a-col :flex="2"></a-col> - <a-col :flex="1"> - <a-form :model="formModel" style="margin-top: 30px"> - <a-form-item field="name"> - <a-input - v-model="formModel.name" - :style="{ width: '320px' }" - :placeholder="$t('璇疯緭鍏�')" - /> - </a-form-item> - </a-form> - </a-col> - <a-col :flex="'200px'" style="text-align: right; margin-top: 30px"> - <a-button type="primary" @click="search" style="margin-right: 20px"> - <template #icon> - <icon-search /> - </template> - {{ $t('searchTable.form.search') }} - </a-button> - <a-button @click="reset"> - <template #icon> - <icon-refresh /> - </template> - {{ $t('searchTable.form.reset') }} - </a-button> - </a-col> - </a-row> --> - <!-- <a-divider style="margin-top: 0" /> - <a-row style="margin-bottom: 16px"> - <a-col :span="12"> - <a-space> - <a-button type="primary" :align="'right'" @click="operation(0)" - >+ 鏂板缓璐︽埛</a-button - > - </a-space> - </a-col> - <a-col - :span="12" - style="display: flex; align-items: center; justify-content: end" - > - <a-tooltip :content="$t('searchTable.actions.refresh')"> - <div class="action-icon" @click="search"> - <icon-refresh size="18" /> - </div> - </a-tooltip> - <a-dropdown @select="handleSelectDensity"> - <a-tooltip :content="$t('searchTable.actions.density')"> - <div class="action-icon"> - <icon-line-height size="18" /> - </div> - </a-tooltip> - <template #content> - <a-doption - v-for="item in densityList" - :key="item.value" - :value="item.value" - :class="{ active: item.value === size }" - > - <span>{{ item.name }}</span> - </a-doption> - </template> - </a-dropdown> - </a-col> - </a-row> --> <a-table row-key="id" :loading="loading" @@ -191,17 +126,14 @@ @ok="editHandleOk" > <a-form :model="editform"> + <a-form-item field="email" label="鐢ㄦ埛鍚�"> + <a-input v-model="editform.email" /> + </a-form-item> <a-form-item field="name" label="鏄电О"> <a-input v-model="editform.nickName" /> </a-form-item> - <a-form-item field="userName" label="鐢ㄦ埛鍚�"> - <a-input v-model="editform.userName" /> - </a-form-item> <a-form-item field="phoneNumber" label="鎵嬫満鍙�"> <a-input v-model="editform.phoneNumber" /> - </a-form-item> - <a-form-item field="email" label="閭"> - <a-input v-model="editform.email" /> </a-form-item> </a-form> </a-modal> @@ -249,7 +181,7 @@ </div> </a-modal> <a-modal - width="30%" + width="50%" v-model:visible="resourcevisible" v-if="resourcevisible" title="鏉冮檺閰嶇疆" @@ -266,7 +198,7 @@ 鑿滃崟 </template> <a-tree - class="tree-demo" + class="tree-demo-box" v-model:checked-keys="checkedKeysMenu" v-model:expanded-keys="expandKdysMenu" :checkable="true" @@ -280,7 +212,66 @@ }" :check-strictly="checkStrictlyMenu" > + <!-- <template #extra="nodeData"> + <div :class="{ 'custom-class': nodeData.menuType == 1 }"> + <span> + {{ nodeData.menuName }} + </span> + </div> + </template> --> </a-tree> + <!-- <a-space class="space_select_all"> + <a-button type="primary">鍏ㄩ��</a-button> + <a-button>鍙栨秷鍏ㄩ��</a-button> + </a-space> + + <div class="table_box" v-if="treeDataMenu[0].children"> + <div class="table_row1"> + <div + class="row1_list" + v-for="(item, index) in treeDataMenu[0].children" + :key="item.menuId" + > + <div class="row1_clo"> + <a-checkbox + :checked="item.menuId" + @change="onCheckChange(item, $event)" + > + {{ item.menuName }} + </a-checkbox> + </div> + <div v-if="item.children" class="row1_clo2"> + <div + class="row2_clo2_1" + v-for="(item2, index2) in item.children" + :key="item2.menuId" + > + <div class="row1_clo2_1"> + <a-checkbox + :checked="item2.menuId" + @change="onCheckChange(item2, $event)" + > + {{ item2.menuName }} + </a-checkbox> + </div> + <div v-if="item2.children" class="row1_clo2_2"> + <div + v-for="(item3, index3) in item2.children" + :key="item3.menuId" + > + <a-checkbox + :checked="item3.menuId" + @change="onCheckChange(item3, $event)" + > + {{ item3.menuName }}</a-checkbox + > + </div> + </div> + </div> + </div> + </div> + </div> + </div> --> </a-tab-pane> <a-tab-pane key="2"> <template #title> @@ -375,7 +366,7 @@ </template> <script lang="ts" setup> - import { computed, reactive, ref } from 'vue'; + import { computed, reactive, ref, h, onMounted } from 'vue'; import { useI18n } from 'vue-i18n'; import useLoading from '@/hooks/loading'; import { Pagination } from '@/types/global'; @@ -395,13 +386,15 @@ } from '@/api/authority'; import { Modal } from '@arco-design/web-vue'; import Authheader from '@/views/authority/components/authheader.vue'; + import { create } from 'lodash'; + import { queryCanvasList } from "@/api/Agent"; let treeData = ref([]); let checkedKeys = ref([]); let expandKdys = ref([]); let checkStrictly = ref([]); - let treeDataMenu = ref([]); + let treeDataMenu = ref<any>([]); let checkedKeysMenu = ref([]); let expandKdysMenu = ref([]); let checkStrictlyMenu = ref([]); @@ -446,6 +439,13 @@ let deptvisible = ref(false); let resourcevisible = ref(false); let selectUser = ref({}); + const treeDataList = ref([]); + const checked1 = ref(false); + + //琛ㄦ牸澶嶉�夋閫夋嫨 + const onCheckChange = (checkedKeysValue: (string | number)[], e: any) => { + console.log('onCheckChange', checkedKeysValue, e); + }; const onCheck = (newCheckedKeys, event) => { let o = { deptId: event.node.deptId, deptName: event.node.deptName }; @@ -563,7 +563,7 @@ slotName: 'index', }, { - title: t('鐧诲綍鍚�'), + title: t('鐢ㄦ埛鍚�'), dataIndex: 'email', }, { @@ -805,9 +805,12 @@ treeData.value = [...res.rows]; }); }; + const objArr = ref<any>([]); const MenuData = async (key) => { await ResourceList(key).then((res) => { treeDataMenu.value = [...res.rows]; + // addClassToLeafNodes(treeDataMenu.value); + treeDataList.value = res.rows; }); }; @@ -817,7 +820,12 @@ DialogList().then((res) => { DialogsList.value = res.rows; + //鍔犺浇agent + queryCanvasList(null).then((r) => { + + }); }); + fetchData(); OrganizationData(''); MenuData(); @@ -862,6 +870,61 @@ } } } + .space_select_all { + display: flex; + justify-content: end; + margin-bottom: 15px; + } + .table_box { + display: flex; + + border: 1px solid #e8e8e8; + border-bottom: none; + .row1_clo { + min-width: 200px; + display: flex; + padding-left: 20px; + border-right: 1px solid #e8e8e8; + } + .table_row1 { + width: 100%; + .row1_list { + display: flex; + min-height: 40px; + border-bottom: 1px solid #e8e8e8; + // line-height: 40px; + } + } + .row1_clo2 { + width: 100%; + border-top: none; + .row2_clo2_1 { + display: flex; + width: 100%; + min-height: 40px; + line-height: 40px; + border-bottom: 1px solid #e8e8e8; + .row1_clo2_1 { + border-right: 1px solid #e8e8e8; + min-width: 310px; + padding-left: 20px; + } + .row1_clo2_2 { + border-top: none; + border-right: none; + width: 100%; + display: flex; + flex-wrap: wrap; + div { + margin-left: 20px; + } + } + } + } + .row2_clo2_1:last-child { + border-bottom: none; + } + } </style> <style lang="less"> .ant-table-wrapper { -- Gitblit v1.8.0