取消职级组,职级相关内容修改
parent
510134cfe5
commit
b71de47b8b
|
|
@ -71,7 +71,7 @@ export interface addDept {
|
|||
status: number
|
||||
}
|
||||
export interface PositionByOrgParams {
|
||||
orgid: string
|
||||
orgId: string
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
|
|||
|
|
@ -57,13 +57,13 @@ enum Api {
|
|||
UpdatePosition = '/api/SysPosition/Update',
|
||||
}
|
||||
|
||||
export const getPositionsTree = (params: AccountParams) =>
|
||||
export const getPositionsTree = (params?: AccountParams) =>
|
||||
defHttp.get<AccountListGetResultModel>({ url: Api.PositionsTree, params });
|
||||
|
||||
export const getPositionList = (params: AccountParams) =>
|
||||
defHttp.get<AccountListGetResultModel>({ url: Api.PositionList, params });
|
||||
|
||||
export const getPosGroupList = (params: AccountParams) =>
|
||||
export const getPosGroupList = (params?: AccountParams) =>
|
||||
defHttp.get<AccountListGetResultModel>({ url: Api.PosGroupList, params });
|
||||
|
||||
export const getAccountList = (params: AccountParams) =>
|
||||
|
|
|
|||
|
|
@ -10,7 +10,7 @@
|
|||
import { reactive,nextTick} from 'vue';
|
||||
|
||||
import { BasicTable, useTable, TableAction } from '@/components/Table';
|
||||
import { getLoadPositionByOrg, deleteAccount } from '@/api/demo/system';
|
||||
import { getPositionsTree, deleteAccount } from '@/api/demo/system';
|
||||
import { PageWrapper } from '@/components/Page';
|
||||
import DeptTree from './DeptTree.vue';
|
||||
import { useMessage } from '/@/hooks/web/useMessage';
|
||||
|
|
@ -22,8 +22,8 @@
|
|||
|
||||
const searchInfo = reactive < Recordable > ({});
|
||||
const [registerTable, { expandAll,reload, updateTableDataRecord, getSelectRows, clearSelectedRowKeys }] = useTable({
|
||||
title: '账号列表',
|
||||
api: getLoadPositionByOrg,
|
||||
title: '职级列表',
|
||||
api: getPositionsTree,
|
||||
rowKey: 'id',
|
||||
columns,
|
||||
formConfig: {
|
||||
|
|
|
|||
|
|
@ -1,17 +1,17 @@
|
|||
<template>
|
||||
<div class="select-account">
|
||||
<div class="select-account">
|
||||
<BasicTable @register="registerTable" :searchInfo="searchInfo"> </BasicTable>
|
||||
</div>
|
||||
</template>
|
||||
<script lang="ts" setup>
|
||||
import { reactive, } from 'vue';
|
||||
import { reactive } from 'vue';
|
||||
|
||||
import { BasicTable, useTable, TableAction } from '@/components/Table';
|
||||
import { getRoleListByPage, deleteRole } from '@/api/demo/system';
|
||||
|
||||
defineOptions({ name: 'RoleManagement' });
|
||||
|
||||
const searchInfo = reactive < Recordable > ({});
|
||||
const searchInfo = reactive<Recordable>({});
|
||||
|
||||
const [registerTable, { reload, getSelectRows, clearSelectedRowKeys }] = useTable({
|
||||
// 表格名称
|
||||
|
|
@ -34,12 +34,14 @@
|
|||
rowKey: 'id',
|
||||
formConfig: {
|
||||
labelWidth: 120,
|
||||
schemas: [{
|
||||
field: 'key',
|
||||
label: '关键字',
|
||||
component: 'Input',
|
||||
colProps: { span: 8 },
|
||||
}],
|
||||
schemas: [
|
||||
{
|
||||
field: 'key',
|
||||
label: '关键字',
|
||||
component: 'Input',
|
||||
colProps: { span: 8 },
|
||||
},
|
||||
],
|
||||
},
|
||||
// 使用搜索表单
|
||||
useSearchForm: true,
|
||||
|
|
@ -50,7 +52,8 @@
|
|||
// 序号列
|
||||
showIndexColumn: false,
|
||||
// 勾选列
|
||||
rowSelection: {//多选框
|
||||
rowSelection: {
|
||||
//多选框
|
||||
type: 'checkbox',
|
||||
},
|
||||
tableSetting: { fullScreen: true },
|
||||
|
|
@ -63,16 +66,15 @@
|
|||
|
||||
function getRow() {
|
||||
let rows = getSelectRows();
|
||||
return rows
|
||||
return rows;
|
||||
}
|
||||
defineExpose({
|
||||
getRow
|
||||
})
|
||||
|
||||
getRow,
|
||||
});
|
||||
</script>
|
||||
<style scoped>
|
||||
.select-account{
|
||||
.select-account {
|
||||
display: flex;
|
||||
height: 100%;
|
||||
}
|
||||
</style>
|
||||
</style>
|
||||
|
|
|
|||
|
|
@ -1,18 +1,41 @@
|
|||
<template>
|
||||
<BasicModal v-bind="$attrs" @register="registerModal" title="分配部门和职级" @ok="handleSubmit">
|
||||
<BasicModal
|
||||
v-bind="$attrs"
|
||||
@register="registerModal"
|
||||
title="分配部门和职级"
|
||||
@ok="handleSubmit"
|
||||
:okText="okTextVal"
|
||||
:destroyOnClose="true"
|
||||
>
|
||||
<BasicTree
|
||||
ref="asyncExpandTreeRef"
|
||||
title="部门和职级列表"
|
||||
title="部门列表"
|
||||
toolbar
|
||||
treeWrapperClassName="h-[calc(100%-35px)] overflow-auto"
|
||||
loadData
|
||||
:clickRowToExpand="false"
|
||||
:treeData="treeData"
|
||||
:treeData="treeDeptData"
|
||||
:fieldNames="{ key: 'id', title: 'name' }"
|
||||
:defaultExpandAll="true"
|
||||
:checkable="true"
|
||||
:checkStrictly="true"
|
||||
@check="handleSelect"
|
||||
@check="handleDeptSelect"
|
||||
v-if="okTextVal == '下一步'"
|
||||
/>
|
||||
<BasicTree
|
||||
ref="asyncExpandTreePosRef"
|
||||
title="职级列表"
|
||||
toolbar
|
||||
treeWrapperClassName="h-[calc(100%-35px)] overflow-auto"
|
||||
loadData
|
||||
:clickRowToExpand="false"
|
||||
:treeData="treePosData"
|
||||
:fieldNames="{ key: 'id', title: 'name' }"
|
||||
:defaultExpandAll="true"
|
||||
:checkable="true"
|
||||
:checkStrictly="true"
|
||||
@check="handlePosSelect"
|
||||
v-else
|
||||
/>
|
||||
</BasicModal>
|
||||
</template>
|
||||
|
|
@ -20,111 +43,103 @@
|
|||
import { ref, unref, onMounted, nextTick } from 'vue';
|
||||
import { BasicModal, useModalInner } from '@/components/Modal';
|
||||
import { BasicTree, TreeItem, TreeActionType } from '@/components/Tree';
|
||||
import { getOrgPositonTree, userOrgs } from '@/api/demo/system';
|
||||
import { getDeptList, userOrgs, getPositionsTree } from '@/api/demo/system';
|
||||
import { useMessage } from '@/hooks/web/useMessage';
|
||||
|
||||
defineOptions({ name: 'OrgPositonModal' });
|
||||
|
||||
const emit = defineEmits(['success', 'register', 'select']);
|
||||
const treeData = ref<TreeItem[]>([]);
|
||||
const treeDeptData = ref<TreeItem[]>([]);
|
||||
const treePosData = ref<TreeItem[]>([]);
|
||||
const asyncExpandTreeRef = ref<Nullable<TreeActionType>>(null);
|
||||
const asyncExpandTreePosRef = ref<Nullable<TreeActionType>>(null);
|
||||
const { createMessage } = useMessage();
|
||||
function treeIterator(tree) {
|
||||
const okTextVal = ref('下一步');
|
||||
function treeIterator(tree, orgId) {
|
||||
tree.forEach((node) => {
|
||||
if (node.key == 0) {
|
||||
node.name = '部门--' + node.name;
|
||||
} else {
|
||||
node.name = '职级--' + node.name;
|
||||
}
|
||||
node.children && treeIterator(node.children);
|
||||
node.orgId = orgId;
|
||||
node.children && treeIterator(node.children, orgId);
|
||||
});
|
||||
}
|
||||
async function fetch() {
|
||||
const data = (await getOrgPositonTree()) as unknown as TreeItem[];
|
||||
treeIterator(data);
|
||||
treeData.value = await data;
|
||||
const data = (await getDeptList()) as unknown as TreeItem[];
|
||||
treeDeptData.value = data;
|
||||
// 展开全部
|
||||
nextTick(() => {
|
||||
unref(asyncExpandTreeRef)?.expandAll(true);
|
||||
});
|
||||
}
|
||||
let orgList:any = ref([]);
|
||||
let posList:any = ref([]);
|
||||
function handleSelect(checkedKeys, e: { checked: boolean; checkedNodes; node; event }) {
|
||||
const list = e.checkedNodes;
|
||||
orgList.value = [];
|
||||
posList.value = [];
|
||||
list.forEach((element) => {
|
||||
if (element.key > 0) {
|
||||
posList.value.push({
|
||||
orgId: Number(element.tag),
|
||||
posId: element.id,
|
||||
});
|
||||
} else {
|
||||
orgList.value.push({
|
||||
orgId: element.id,
|
||||
posId: 0,
|
||||
});
|
||||
}
|
||||
});
|
||||
let orgList: any = ref([]);
|
||||
let posList: any = ref([]);
|
||||
async function handleDeptSelect(checkedKeys, e: { checked: boolean; checkedNodes; node; event }) {
|
||||
console.log(e.checkedNodes);
|
||||
orgList.value = e.checkedNodes;
|
||||
}
|
||||
async function handlePosSelect(checkedKeys, e: { checked: boolean; checkedNodes; node; event }) {
|
||||
posList.value = e.checkedNodes;
|
||||
}
|
||||
|
||||
onMounted(() => {
|
||||
fetch();
|
||||
});
|
||||
const rowId = ref('');
|
||||
const [registerModal, { setModalProps, closeModal }] = useModalInner(async (data) => {
|
||||
// unref(asyncExpandTreeRef)?.setCheckedKeys([1]);
|
||||
setModalProps({ confirmLoading: false });
|
||||
orgList.value = []
|
||||
posList.value = []
|
||||
fetch()
|
||||
rowId.value = data.record.id;
|
||||
okTextVal.value = '下一步';
|
||||
});
|
||||
|
||||
async function handleSubmit() {
|
||||
try {
|
||||
let duplicates = {};
|
||||
for (let i = 0; i < posList.value.length; i++) {
|
||||
if (!duplicates[posList.value[i].orgId]) {
|
||||
duplicates[posList.value[i].orgId] = 1;
|
||||
} else {
|
||||
duplicates[posList.value[i].orgId]++;
|
||||
if (okTextVal.value == '下一步') {
|
||||
console.log(orgList)
|
||||
if (orgList.value.length == 0) {
|
||||
return createMessage.warn('请先选择部门');
|
||||
}
|
||||
}
|
||||
for (let key in duplicates) {
|
||||
if (duplicates[key] > 1) {
|
||||
return createMessage.warn('一个部门只能选择一个职级');
|
||||
}
|
||||
}
|
||||
var query = {};
|
||||
const arrs = posList.value.map((item) => {
|
||||
const data = orgList.value.find((i) => item.orgId == i.orgId);
|
||||
return {
|
||||
...data,
|
||||
...item,
|
||||
};
|
||||
});
|
||||
if (posList.value.length == 0) {
|
||||
query = {
|
||||
userId: rowId.value,
|
||||
orgPoses: orgList.value,
|
||||
};
|
||||
} else if (orgList.length == 0) {
|
||||
query = {
|
||||
userId: rowId.value,
|
||||
orgPoses: posList.value,
|
||||
};
|
||||
okTextVal.value = '确认';
|
||||
// 获取职级
|
||||
treePosData.value = [];
|
||||
orgList.value.forEach(async (element) => {
|
||||
const data = (await getPositionsTree({
|
||||
orgId: element.id,
|
||||
})) as unknown as TreeItem[];
|
||||
treeIterator(data, element.id);
|
||||
treePosData.value = treePosData.value.concat(data);
|
||||
// 展开全部
|
||||
nextTick(() => {
|
||||
unref(asyncExpandTreePosRef)?.expandAll(true);
|
||||
});
|
||||
});
|
||||
} else {
|
||||
query = {
|
||||
let duplicates = {};
|
||||
let arr: any = [];
|
||||
for (let i = 0; i < posList.value.length; i++) {
|
||||
if (!duplicates[posList.value[i].orgId]) {
|
||||
arr.push({
|
||||
orgId: posList.value[i].orgId,
|
||||
posId: posList.value[i].id,
|
||||
});
|
||||
duplicates[posList.value[i].orgId] = 1;
|
||||
} else {
|
||||
duplicates[posList.value[i].orgId]++;
|
||||
}
|
||||
}
|
||||
for (let key in duplicates) {
|
||||
if (duplicates[key] > 1) {
|
||||
return createMessage.warn('一个部门只能选择一个职级');
|
||||
}
|
||||
}
|
||||
var query = {
|
||||
userId: rowId.value,
|
||||
orgPoses: arrs,
|
||||
orgPoses: arr,
|
||||
};
|
||||
}
|
||||
const data = await userOrgs(query);
|
||||
if(data){
|
||||
setModalProps({ confirmLoading: true });
|
||||
closeModal();
|
||||
emit('success');
|
||||
return createMessage.success('成功');
|
||||
}else{
|
||||
return createMessage.error('失败');
|
||||
const data = await userOrgs(query);
|
||||
if (data) {
|
||||
setModalProps({ confirmLoading: true });
|
||||
closeModal();
|
||||
emit('success');
|
||||
return createMessage.success('成功');
|
||||
} else {
|
||||
return createMessage.error('失败');
|
||||
}
|
||||
}
|
||||
} finally {
|
||||
setModalProps({ confirmLoading: false });
|
||||
|
|
|
|||
|
|
@ -17,7 +17,14 @@
|
|||
import { BasicDrawer, useDrawerInner } from '@/components/Drawer';
|
||||
import { useMessage } from '@/hooks/web/useMessage';
|
||||
const { createMessage } = useMessage();
|
||||
import { addPosGroup, editMenu, addPosition, getPosInfo ,updatePosition} from '@/api/demo/system';
|
||||
import {
|
||||
addPosGroup,
|
||||
getDeptList,
|
||||
addPosition,
|
||||
getPosInfo,
|
||||
updatePosition,
|
||||
getPositionsTree,
|
||||
} from '@/api/demo/system';
|
||||
|
||||
defineOptions({ name: 'MenuDrawer' });
|
||||
|
||||
|
|
@ -25,7 +32,7 @@
|
|||
|
||||
const isUpdate = ref(true);
|
||||
|
||||
const [registerForm, { resetFields, setFieldsValue, validate }] = useForm({
|
||||
const [registerForm, { resetFields, setFieldsValue, validate, updateSchema }] = useForm({
|
||||
labelWidth: 100,
|
||||
schemas: formSchema,
|
||||
showActionButtonGroup: false,
|
||||
|
|
@ -47,6 +54,18 @@
|
|||
...obj,
|
||||
});
|
||||
}
|
||||
const posData = await getPositionsTree();
|
||||
const treeData = await getDeptList();
|
||||
updateSchema([
|
||||
{
|
||||
field: 'parentId',
|
||||
componentProps: { treeData:posData },
|
||||
},
|
||||
{
|
||||
field: 'orgId',
|
||||
componentProps: { treeData },
|
||||
},
|
||||
]);
|
||||
});
|
||||
|
||||
const getTitle = computed(() => (!unref(isUpdate) ? '新增' : '编辑'));
|
||||
|
|
|
|||
|
|
@ -28,7 +28,7 @@
|
|||
<script lang="ts" setup>
|
||||
import { onMounted, ref, h, nextTick, unref } from 'vue';
|
||||
import { BasicTree, TreeItem, TreeActionItem, TreeActionType } from '@/components/Tree';
|
||||
import { getPosGroupList, deleteMenu } from '@/api/demo/system';
|
||||
import { getDeptList, deleteMenu } from '@/api/demo/system';
|
||||
import { FormOutlined, DeleteOutlined } from '@ant-design/icons-vue';
|
||||
import { BasicModal, useModal } from '@/components/Modal';
|
||||
import { router } from '@/router';
|
||||
|
|
@ -55,7 +55,7 @@
|
|||
}
|
||||
|
||||
async function fetch() {
|
||||
treeData.value = (await getPosGroupList()) as unknown as TreeItem[];
|
||||
treeData.value = (await getDeptList()) as unknown as TreeItem[];
|
||||
// 展开全部
|
||||
nextTick(() => {
|
||||
unref(asyncExpandTreeRef)?.expandAll(true);
|
||||
|
|
|
|||
|
|
@ -1,8 +1,12 @@
|
|||
<template>
|
||||
<PageWrapper dense contentFullHeight fixedHeight contentClass="flex">
|
||||
<PositionTree ref="childRef" class="w-1/4 xl:w-1/5" @select="handleSelect" @edit="editGroup" />
|
||||
<BasicTable class="w-3/4 xl:w-4/5" @register="registerTable" @fetch-success="onFetchSuccess"
|
||||
:searchInfo="searchInfo">
|
||||
<BasicTable
|
||||
@register="registerTable"
|
||||
@fetch-success="onFetchSuccess"
|
||||
:searchInfo="searchInfo"
|
||||
class="w-3/4 xl:w-4/5"
|
||||
>
|
||||
<template #toolbar>
|
||||
<!-- <a-button type="primary" @click="handleCreate"> 新增 </a-button> -->
|
||||
<PermissionBtn @btnEvent="onBtnClicked"></PermissionBtn>
|
||||
|
|
@ -10,32 +14,31 @@
|
|||
</BasicTable>
|
||||
<PositionDrawer @register="registerDrawer" @success="handleSuccess" />
|
||||
</PageWrapper>
|
||||
|
||||
</template>
|
||||
<script lang="ts" setup>
|
||||
import { reactive, nextTick,ref } from 'vue';
|
||||
import { reactive, nextTick, ref } from 'vue';
|
||||
|
||||
import { BasicTable, useTable } from '@/components/Table';
|
||||
import { getPositionsTree} from '@/api/demo/system';
|
||||
import { getPositionsTree } from '@/api/demo/system';
|
||||
import { PageWrapper } from '@/components/Page';
|
||||
import {PermissionBtn} from '@/components/PermissionBtn/index'
|
||||
import { PermissionBtn } from '@/components/PermissionBtn/index';
|
||||
import { useDrawer } from '@/components/Drawer';
|
||||
|
||||
import {PositionTree} from './page';
|
||||
import {PositionDrawer} from './page';
|
||||
|
||||
import { PositionTree } from './page';
|
||||
import { PositionDrawer } from './page';
|
||||
|
||||
import { columns, searchFormSchema } from './position.data';
|
||||
import { useMessage } from '@/hooks/web/useMessage';
|
||||
const { createConfirm,createMessage } = useMessage();
|
||||
const { createConfirm, createMessage } = useMessage();
|
||||
defineOptions({ name: 'PositionManagement' });
|
||||
const searchInfo = reactive < Recordable > ({});
|
||||
const searchInfo = reactive<Recordable>({});
|
||||
|
||||
const [registerDrawer, { openDrawer }] = useDrawer();
|
||||
const [registerTable, { reload, expandAll, getSelectRows }] = useTable({
|
||||
title: '职级列表',
|
||||
api: getPositionsTree,
|
||||
columns,
|
||||
rowKey:'id',
|
||||
rowKey: 'id',
|
||||
formConfig: {
|
||||
labelWidth: 120,
|
||||
schemas: searchFormSchema,
|
||||
|
|
@ -46,7 +49,8 @@
|
|||
showTableSetting: true,
|
||||
bordered: true,
|
||||
showIndexColumn: false,
|
||||
rowSelection: {//多选框
|
||||
rowSelection: {
|
||||
//多选框
|
||||
// type: 'checkbox',
|
||||
type: 'radio',
|
||||
},
|
||||
|
|
@ -54,7 +58,7 @@
|
|||
return info;
|
||||
},
|
||||
});
|
||||
const childRef = ref <any> ()
|
||||
const childRef = ref<any>();
|
||||
function handleCreate() {
|
||||
openDrawer(true, {
|
||||
isUpdate: false,
|
||||
|
|
@ -63,30 +67,30 @@
|
|||
|
||||
function handleEdit() {
|
||||
let rows = getSelectRows();
|
||||
if(rows.length == 0){
|
||||
if (rows.length == 0) {
|
||||
return createMessage.warn('请选择一个职级进行编辑');
|
||||
}
|
||||
const record = rows[0]
|
||||
record.type = '2'
|
||||
const record = rows[0];
|
||||
record.type = '2';
|
||||
openDrawer(true, {
|
||||
record,
|
||||
isUpdate: true,
|
||||
});
|
||||
}
|
||||
async function editGroup(record: Recordable) {
|
||||
record.type = '1'
|
||||
record.type = '1';
|
||||
openDrawer(true, {
|
||||
record,
|
||||
isUpdate: true,
|
||||
});
|
||||
}
|
||||
function handleSelect(GroupId = '') {
|
||||
searchInfo.GroupId = GroupId;
|
||||
function handleSelect(orgId = '') {
|
||||
searchInfo.orgId = orgId;
|
||||
reload();
|
||||
}
|
||||
async function handleDelete() {
|
||||
let rows = getSelectRows();
|
||||
if(rows.length == 0){
|
||||
if (rows.length == 0) {
|
||||
return createMessage.warn('请选择一个职级进行删除');
|
||||
}
|
||||
// const query = [rows[0].id]
|
||||
|
|
@ -113,16 +117,16 @@
|
|||
function onBtnClicked(domId) {
|
||||
switch (domId) {
|
||||
case 'btnAdd':
|
||||
handleCreate()
|
||||
handleCreate();
|
||||
break;
|
||||
case 'btnEdit':
|
||||
handleEdit()
|
||||
handleEdit();
|
||||
break;
|
||||
case 'btnDelete':
|
||||
handleDelete()
|
||||
handleDelete();
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
}
|
||||
</script>
|
||||
</script>
|
||||
|
|
|
|||
|
|
@ -2,7 +2,7 @@ import { BasicColumn, FormSchema } from '@/components/Table';
|
|||
import { h } from 'vue';
|
||||
import { Tag } from 'ant-design-vue';
|
||||
import Icon from '@/components/Icon/Icon.vue';
|
||||
import { getPosGroupList, getPositionsTree } from '@/api/demo/system';
|
||||
import { getDeptList, getPositionsTree } from '@/api/demo/system';
|
||||
|
||||
export const columns: BasicColumn[] = [
|
||||
{
|
||||
|
|
@ -29,11 +29,11 @@ export const formSchema: FormSchema[] = [
|
|||
field: 'type',
|
||||
label: '类型',
|
||||
component: 'RadioButtonGroup',
|
||||
defaultValue: '1',
|
||||
defaultValue: '2',
|
||||
componentProps: {
|
||||
options: [
|
||||
// { label: '目录', value: '0' },
|
||||
{ label: '职级组', value: '1' },
|
||||
// { label: '职级组', value: '1' },
|
||||
{ label: '职级', value: '2' },
|
||||
],
|
||||
},
|
||||
|
|
@ -53,38 +53,18 @@ export const formSchema: FormSchema[] = [
|
|||
required: true,
|
||||
},
|
||||
{
|
||||
field: 'groupId',
|
||||
component: 'ApiSelect',
|
||||
label: '职级组',
|
||||
required: true,
|
||||
componentProps: ({ formActionType, formModel }) => {
|
||||
return {
|
||||
api: getPosGroupList, // 接口
|
||||
// 接口参数
|
||||
params: {
|
||||
site: formModel.site || '',
|
||||
placeId: formModel.placeId || '',
|
||||
},
|
||||
resultField: 'result',
|
||||
labelField: 'name',
|
||||
valueField: 'id',
|
||||
onChange: (e: any) => {
|
||||
formModel.parentId = undefined
|
||||
async function getList() {
|
||||
const treeData = await getPositionsTree({groupId:e})
|
||||
const { updateSchema } = formActionType;
|
||||
updateSchema({
|
||||
field: 'parentId',
|
||||
componentProps: {
|
||||
treeData,
|
||||
},
|
||||
});
|
||||
}
|
||||
getList()
|
||||
}
|
||||
};
|
||||
field: 'orgId',
|
||||
label: '所属部门',
|
||||
component: 'TreeSelect',
|
||||
componentProps: {
|
||||
fieldNames: {
|
||||
label: 'name',
|
||||
key: 'id',
|
||||
value: 'id',
|
||||
},
|
||||
getPopupContainer: () => document.body,
|
||||
},
|
||||
ifShow: ({ values }) => isButton(values.type),
|
||||
required: true,
|
||||
},
|
||||
{
|
||||
field: 'parentId',
|
||||
|
|
@ -98,7 +78,6 @@ export const formSchema: FormSchema[] = [
|
|||
},
|
||||
getPopupContainer: () => document.body,
|
||||
},
|
||||
ifShow: ({ values }) => isButton(values.type),
|
||||
},
|
||||
{
|
||||
field: 'remark',
|
||||
|
|
|
|||
|
|
@ -1,5 +1,12 @@
|
|||
<template>
|
||||
<BasicModal v-bind="$attrs" @register="registerModal" title="查看账号">
|
||||
<BasicModal
|
||||
v-bind="$attrs"
|
||||
@register="registerModal"
|
||||
:showCancelBtn="false"
|
||||
:showOkBtn="false"
|
||||
width="60%"
|
||||
title="查看账号"
|
||||
>
|
||||
<BasicTable @register="registerTable" :searchInfo="searchInfo" />
|
||||
</BasicModal>
|
||||
</template>
|
||||
|
|
@ -12,7 +19,6 @@
|
|||
defineOptions({ name: 'DeptModal' });
|
||||
|
||||
const emit = defineEmits(['success', 'register']);
|
||||
|
||||
const rowId = ref('');
|
||||
const searchInfo = reactive<Recordable>({});
|
||||
|
||||
|
|
@ -20,28 +26,25 @@
|
|||
setModalProps({ confirmLoading: false });
|
||||
rowId.value = data.record.id;
|
||||
searchInfo.roleId = rowId.value;
|
||||
reload()
|
||||
reload();
|
||||
});
|
||||
const [registerTable,{reload}] = useTable({
|
||||
// 异步传参后查询历史记录表格
|
||||
const [registerTable, { reload }] = useTable({
|
||||
canResize: true,
|
||||
resizeHeightOffset: 150,
|
||||
api: loadByRole,
|
||||
columns: [
|
||||
{
|
||||
title: '用户名',
|
||||
dataIndex: 'account',
|
||||
width: 120,
|
||||
},
|
||||
{
|
||||
title: '昵称',
|
||||
dataIndex: 'name',
|
||||
width: 120,
|
||||
},
|
||||
],
|
||||
useSearchForm: false,
|
||||
showTableSetting: false,
|
||||
tableSetting: { fullScreen: true },
|
||||
showIndexColumn: false,
|
||||
isCanResizeParent: true,
|
||||
rowKey: 'id',
|
||||
showTableSetting: false,
|
||||
handleSearchInfoFn(info) {
|
||||
return info;
|
||||
},
|
||||
|
|
@ -49,3 +52,9 @@
|
|||
|
||||
onMounted(() => {});
|
||||
</script>
|
||||
<style scoped>
|
||||
.select-account {
|
||||
display: flex;
|
||||
height: 100%;
|
||||
}
|
||||
</style>
|
||||
|
|
|
|||
Loading…
Reference in New Issue