Commit 25a03f72 authored by liwei's avatar liwei

修改了机构管理页面

parent 9212ce32
<template>
<BasicModal width="50%" v-bind="$attrs" @register="registerModal" :title="getTitle" @ok="handleSubmit">
<BasicTable @register="registerTable"></BasicTable>
</BasicModal>
</template>
<script lang="ts" setup>
import { BasicModal, useModalInner } from '@/components/Modal';
import { BasicForm, useForm } from '@/components/Form';
import { reactive,unref,onDeactivated,onMounted,ref } from 'vue';
import { BasicTable, useTable, TableAction } from '@/components/Table';
import { useMessage } from '@/hooks/web/useMessage';
import { useModal } from '@/components/Modal';
import {addUserData, columns, searchFormSchema, TreeData} from './institutionData';
import { useGo } from '@/hooks/web/usePage';
import { downloadByData } from '@/utils/file/download';
import { useRoute,onBeforeRouteLeave } from 'vue-router';
import { useFilterStore } from '@/store/modules/filterData';
import {useUserStore} from "@/store/modules/user";
import { userData } from "@/views/system/institution/institutionData";
defineOptions({ name: 'AccountManagement' });
const { createMessage } = useMessage();
const filterStore = useFilterStore();
const route = useRoute();
const go = useGo();
const [registerMoveUser, { openModal: openMoveUserModal }] = useModal();
const searchInfo = reactive<Recordable>({});
const emit = defineEmits(['success', 'register']);
const tableData = ref([])
const isAdd = ref(true)
const [registerTable, { reload, updateTableDataRecord, getSearchInfo,getForm,getRowSelection }] = useTable({
title: '添加用户',
api: async (params) => {
const response = {
pageNu: "1",
pageSize: "10",
pages: "1",
total: tableData.value.length,
code:'',
message:'',
data: [],
};
var data = []
data = tableData.value
if (params.name != undefined && params.name != '' && params.name != null){
//过滤出名字包含params.name的数据
data = data.filter((item) => item.name.includes(params.name));
}
if (params.username != undefined && params.username != '' && params.username != null){
data = data.filter((item) => item.username.includes(params.username));
}
return { ...response, data: data };
},
rowKey: 'businessId',
columns,
rowSelection: true,
formConfig: {
labelWidth: 100,
schemas: searchFormSchema,
autoSubmitOnEnter: true,
},
useSearchForm: true,
showTableSetting: false,
bordered: true,
handleSearchInfoFn(info) {
return info;
},
});
//初始化弹框
const [registerModal, { setModalProps, closeModal }] = useModalInner(async (data) => {
setModalProps({ confirmLoading: false });
isAdd.value = !!data?.isAdd;
});
/** 新增成功*/
function handleSubmit() {
const rowSelection = getRowSelection().selectedRowKeys;
if (rowSelection.length>0){
//已选中
//根据选中的查询用户 然后进行添加
let data = []
data = tableData.value.filter((item) => rowSelection.includes(item.businessId));
emit('success', { isAdd: unref(isAdd), values: { ...data },length: rowSelection.length });
closeModal();
}
}
onMounted(() => {
tableData.value = addUserData
});
</script>
......@@ -36,6 +36,7 @@
</BasicTable>
<AccountModal @register="registerModal" @success="handleSuccess" />
<MoveUser @register="registerMoveUser" @success="handleMoveSuccess" />
<AddUserModal @register="registerAddUserModal" @success="handleAddSuccess" />
</PageWrapper>
</template>
<script lang="ts" setup>
......@@ -57,6 +58,7 @@
import {useUserStore} from "@/store/modules/user";
import {getMenuListByPage} from "@/api/system/menu/menu";
import { userData } from "@/views/system/institution/institutionData";
import AddUserModal from './AddUserModal.vue';
import user from "../../../../mock/sys/user";
import {forEach} from "lodash-es";
......@@ -66,6 +68,7 @@
const route = useRoute();
const go = useGo();
const [registerModal, { openModal }] = useModal();
const [registerAddUserModal, { openModal:addUserModal }] = useModal();
const [registerMoveUser, { openModal: openMoveUserModal }] = useModal();
const searchInfo = reactive<Recordable>({});
const tableData = ref([])
......@@ -125,8 +128,8 @@
/** 新增按钮*/
function handleCreate() {
openModal(true, {
isUpdate: false,
addUserModal(true, {
isAdd: true,
});
}
......@@ -212,6 +215,17 @@
reload();
}
/** 添加用户*/
function handleAddSuccess({ isAdd, values,length }) {
if (length > 0){
//批量添加
for (let i = 0; i < length; i++){
tableData.value.push(values[i])
}
}
reload();
}
/** 部门树的select*/
function handleSelect(institutionId = '') {
searchInfo.institutionId = institutionId;
......
......@@ -7,6 +7,49 @@ import {useMessage} from "@/hooks/web/useMessage";
import {changeFlagApi} from "@/api/system/user/user"; // 引入开关组件
type CheckedType = boolean | string | number;
export const columns: BasicColumn[] = [
{
title: '姓名',
dataIndex: 'name',
width: 150,
},
{
title: '登录名',
dataIndex: 'username',
width: 150,
},
{
title: '用户角色',
dataIndex: 'roleName',
width: 150,
},
{
title: '创建时间',
dataIndex: 'createDate',
width: 150,
},
];
export const searchFormSchema: FormSchema[] = [
{
field: 'name',
label: '姓名',
component: 'Input',
componentProps: {
placeholder: '请输入姓名',
},
colProps: { span: 7 },
},
{
field: 'username',
label: '登录名',
component: 'Input',
componentProps: {
placeholder: '请输入登录名',
},
colProps: { span: 7 },
},
];
export const TreeData: any[] = [
{
......@@ -228,6 +271,68 @@ export const userData: any[] = [
}
];
export const addUserData: any[] = [
{
"delFlag" : "0",
"flag" : "1",
"businessId" : 400,
"username" : "tianjia1",
"nickName" : "添加用户1",
"userType" : "1",
"name" : "添加用户1",
"roleName":"工作区访客",
"createDate": "2024-10-24 10:04:04",
"institutionId" : null,
"institutionName" : "",
"code":"123f",
"identity" : "1",
"roleIds" : null,
"roleNames" : "三级用户",
"roleList" : null,
"menuList" : [ ]
},
{
"delFlag" : "0",
"flag" : "1",
"businessId" : 402,
"username" : "tianjia2",
"nickName" : "添加用户2",
"userType" : "1",
"name" : "添加用户2",
"roleName":"工作区访客",
"createDate": "2024-10-25 10:05:05",
"sex" : "0",
"institutionId" : null,
"institutionName" : "",
"code":"123a",
"identity" : "1",
"roleIds" : null,
"roleNames" : null,
"roleList" : null,
"menuList" : [ ]
},
{
"delFlag": "0",
"flag": "1",
"businessId": 403,
"username": "tianjia3",
"nickName": "添加用户3",
"userType": "1",
"name": "添加用户3",
"roleName":"工作区访客",
"createDate": "2024-10-26 10:06:06",
"sex": "1",
"institutionId": null,
"institutionName" : "",
"code":"123c",
"identity": "1",
"roleIds": null,
"roleNames": "超级管理员",
"roleList": null,
"menuList": []
},
];
export const accountFormSchema: any[] = [
];
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment