Commit 2fe7e100 authored by baiyinhao's avatar baiyinhao

修改部分页面

parent 1aca171f
...@@ -69,6 +69,7 @@ ...@@ -69,6 +69,7 @@
import { useFilterStore } from '@/store/modules/filterData'; import { useFilterStore } from '@/store/modules/filterData';
import { modelData, TableData } from './mock'; import { modelData, TableData } from './mock';
import { Modal } from 'ant-design-vue'; import { Modal } from 'ant-design-vue';
import { is } from '@/utils/is';
// import ModelTree from '@/views/dataWarehousePlanning/physicalModel/ModelTree.vue'; // import ModelTree from '@/views/dataWarehousePlanning/physicalModel/ModelTree.vue';
...@@ -140,6 +141,7 @@ ...@@ -140,6 +141,7 @@
/** 新建分层*/ /** 新建分层*/
function handleCreateFile() { function handleCreateFile() {
openModal(true, { openModal(true, {
isView: false,
isUpdate: false, isUpdate: false,
}); });
} }
...@@ -162,6 +164,7 @@ ...@@ -162,6 +164,7 @@
function handleEdit(record: Recordable) { function handleEdit(record: Recordable) {
openModal(true, { openModal(true, {
record, record,
isView: false,
isUpdate: true, isUpdate: true,
}); });
} }
...@@ -236,8 +239,11 @@ ...@@ -236,8 +239,11 @@
} }
//查看按钮 //查看按钮
function handleView(record: Recordable) { function handleView(record: Recordable) {
go('/system/account_detail/' + record.id); openModal(true, {
reload(); record,
isView: true,
isUpdate: true,
});
} }
onMounted(() => { onMounted(() => {
......
...@@ -27,7 +27,9 @@ ...@@ -27,7 +27,9 @@
const { createMessage } = useMessage(); const { createMessage } = useMessage();
const isUpdate = ref(true); const isUpdate = ref(true);
const isMove = ref(false); const isMove = ref(false);
const isView = ref(false);
const rowId = ref(''); const rowId = ref('');
//获取接口数据并放在下拉框里(这里是打开了一个弹框) //获取接口数据并放在下拉框里(这里是打开了一个弹框)
//初始化表单 //初始化表单
const [registerForm, { setFieldsValue, updateSchema, resetFields, validate }] = useForm({ const [registerForm, { setFieldsValue, updateSchema, resetFields, validate }] = useForm({
...@@ -37,11 +39,13 @@ ...@@ -37,11 +39,13 @@
actionColOptions: { actionColOptions: {
span: 23, span: 23,
}, },
disabled: isView,
}); });
//初始化弹框 //初始化弹框
const [registerModal, { setModalProps, closeModal }] = useModalInner(async (data) => { const [registerModal, { setModalProps, closeModal }] = useModalInner(async (data) => {
resetFields(); resetFields();
setModalProps({ confirmLoading: false }); setModalProps({ confirmLoading: false });
isView.value = !!data?.isView;
isUpdate.value = !!data?.isUpdate; isUpdate.value = !!data?.isUpdate;
isMove.value = !!data?.isMove; isMove.value = !!data?.isMove;
if (unref(isUpdate)) { if (unref(isUpdate)) {
...@@ -65,8 +69,13 @@ ...@@ -65,8 +69,13 @@
]); ]);
}); });
const getTitle = computed(() => (!unref(isUpdate) ? '新建系统' : '编辑系统')); const getTitle = computed(() => {
return unref(isView) && unref(isUpdate)
? '查看系统'
: unref(isUpdate)
? '编辑系统'
: '新建系统';
});
function handleTree(data, id, parentId, children, rootId) { function handleTree(data, id, parentId, children, rootId) {
id = id || 'id'; id = id || 'id';
parentId = parentId || 'parentId'; parentId = parentId || 'parentId';
......
...@@ -12,7 +12,7 @@ ...@@ -12,7 +12,7 @@
:fieldNames="{ key: 'businessId', title: 'modelName' }" :fieldNames="{ key: 'businessId', title: 'modelName' }"
@select="handleSelect" @select="handleSelect"
/> />
<ModelDetailModal @register="registerModal" @success="handleSuccess" /> <!-- <ModelDetailModal @register="registerModal" @success="handleSuccess" /> -->
</div> </div>
</template> </template>
<script lang="ts" setup> <script lang="ts" setup>
......
...@@ -43,7 +43,7 @@ ...@@ -43,7 +43,7 @@
}; };
// 塞值 // 塞值
setFieldsValue({ setFieldsValue({
...formData, // ...formData,
}); });
const treeList = handleTree(TreeData, 'businessId', undefined, undefined, undefined); const treeList = handleTree(TreeData, 'businessId', undefined, undefined, undefined);
......
...@@ -216,7 +216,7 @@ export const searchFormSchematab2: FormSchema[] = [ ...@@ -216,7 +216,7 @@ export const searchFormSchematab2: FormSchema[] = [
componentProps: { componentProps: {
placeholder: '搜索', placeholder: '搜索',
}, },
colProps: { span: 4 }, colProps: { span: 3 },
}, },
{ {
field: 'dataSourceType', field: 'dataSourceType',
...@@ -229,7 +229,7 @@ export const searchFormSchematab2: FormSchema[] = [ ...@@ -229,7 +229,7 @@ export const searchFormSchematab2: FormSchema[] = [
], ],
placeholder: '请选择', placeholder: '请选择',
}, },
colProps: { span: 4 }, colProps: { span: 3 },
}, },
{ {
field: 'accessResult', field: 'accessResult',
...@@ -242,7 +242,7 @@ export const searchFormSchematab2: FormSchema[] = [ ...@@ -242,7 +242,7 @@ export const searchFormSchematab2: FormSchema[] = [
], ],
placeholder: '请选择', placeholder: '请选择',
}, },
colProps: { span: 4 }, colProps: { span: 3 },
}, },
{ {
field: 'accessType', field: 'accessType',
...@@ -255,7 +255,7 @@ export const searchFormSchematab2: FormSchema[] = [ ...@@ -255,7 +255,7 @@ export const searchFormSchematab2: FormSchema[] = [
], ],
placeholder: '请选择', placeholder: '请选择',
}, },
colProps: { span: 4 }, colProps: { span: 3 },
}, },
{ {
field: 'timeRange', field: 'timeRange',
...@@ -264,7 +264,7 @@ export const searchFormSchematab2: FormSchema[] = [ ...@@ -264,7 +264,7 @@ export const searchFormSchematab2: FormSchema[] = [
componentProps: { componentProps: {
placeholder: ['开始时间', '结束时间'], placeholder: ['开始时间', '结束时间'],
}, },
colProps: { span: 8 }, colProps: { span: 5 },
}, },
]; ];
......
...@@ -20,13 +20,13 @@ export const columns: BasicColumn[] = [ ...@@ -20,13 +20,13 @@ export const columns: BasicColumn[] = [
export const ModelFormSchema: FormSchema[] = [ export const ModelFormSchema: FormSchema[] = [
{ {
field: 'roleName', field: 'createDate',
label: '角色名称', label: '操作时间',
component: 'Input', component: 'Input',
rules: [ rules: [
{ {
required: true, // required: true,
message: '请输入角色名称', message: '请输入操作时间',
}, },
], ],
componentProps: { componentProps: {
...@@ -34,60 +34,210 @@ export const ModelFormSchema: FormSchema[] = [ ...@@ -34,60 +34,210 @@ export const ModelFormSchema: FormSchema[] = [
}, },
}, },
{ {
field: 'menuName', field: 'managerName',
label: '菜单名称', label: '操作人',
component: 'Input', component: 'Input',
rules: [ rules: [
{ {
required: true, // required: true,
message: '请输入菜单名称', message: '请输入操作人',
}, },
], ],
componentProps: { componentProps: {
placeholder: '未选择菜单名称',
disabled: true, disabled: true,
}, },
}, },
{ {
field: 'dataScope', field: 'manageType',
label: '权限范围', label: '操作类型',
component: 'Select', component: 'Select',
rules: [ rules: [
{ {
required: true, // required: true,
message: '请选择权限范围', message: '请选择操作类型',
}, },
], ],
componentProps: { componentProps: {
disabled: true,
options: [ options: [
{ {
value: '1', value: '1',
label: '全部数据权限', label: '全部操作类型',
}, },
{ {
value: '2', value: '2',
label: '自定数据权限', label: '自定操作类型',
}, },
{ {
value: '3', value: '3',
label: '本部门数据权限', label: '本部门操作类型',
}, },
{ {
value: '4', value: '4',
label: '本部门及以下数据权限', label: '本部门及以下操作类型',
}, },
{ {
value: '5', value: '5',
label: '仅本人数据权限', label: '仅本人操作类型',
}, },
], ],
}, },
}, },
{ {
label: '数据权限', label: '对象名称',
field: 'menuIds', field: 'ObjectName',
slot: 'menu', component: 'Input',
ifShow: false, // ifShow: false,
componentProps: {
disabled: true,
},
},
{
label: '路径',
field: 'url',
component: 'Input',
componentProps: {
disabled: true,
},
},
{
label: '对象类型',
field: 'objectType',
component: 'Input',
componentProps: {
disabled: true,
},
},
{
label: '操作结果',
field: 'result',
component: 'Input',
componentProps: {
disabled: true,
},
},
];
export const ModelFormSchematab2: FormSchema[] = [
{
field: 'createDate',
label: '访问时间',
component: 'Input',
rules: [
{
// required: true,
message: '请输入访问时间',
},
],
componentProps: {
disabled: true,
},
},
{
field: 'accessUser',
label: '访问用户',
component: 'Input',
rules: [
{
// required: true,
message: '请输入访问用户',
},
],
componentProps: {
disabled: true,
},
},
{
field: 'accessType',
label: '访问途径',
component: 'Select',
rules: [
{
// required: true,
message: '请选择访问途径',
},
],
componentProps: {
disabled: true,
options: [
{
value: '1',
label: '全部操作类型',
},
{
value: '2',
label: '自定操作类型',
},
{
value: '3',
label: '本部门操作类型',
},
{
value: '4',
label: '本部门及以下操作类型',
},
{
value: '5',
label: '仅本人操作类型',
},
],
},
},
{
label: '服务器IP/主机名',
field: 'serverIp',
component: 'Input',
// ifShow: false,
componentProps: {
disabled: true,
},
},
{
label: '数据源名称',
field: 'dataSourceName',
component: 'Input',
componentProps: {
disabled: true,
},
},
{
label: '数据源类型',
field: 'dataSourceType',
component: 'Input',
componentProps: {
disabled: true,
},
},
{
label: '关联sql语句',
field: 'sql',
component: 'Input',
componentProps: {
disabled: true,
},
},
{
label: '执行结束时间',
field: 'endTime',
component: 'Input',
componentProps: {
disabled: true,
},
},
{
label: '执行耗时',
field: 'costTime',
component: 'Input',
componentProps: {
disabled: true,
},
},
{
label: '访问结果',
field: 'result',
component: 'Input',
componentProps: {
disabled: true,
},
}, },
]; ];
export const physicalModelFormSchema: any[] = [ export const physicalModelFormSchema: any[] = [
......
...@@ -8,7 +8,7 @@ ...@@ -8,7 +8,7 @@
@ok="handleSubmit" @ok="handleSubmit"
> >
<div class="modal-content"> <div class="modal-content">
<div class="table-container"> <!-- <div class="table-container">
<BasicTable @register="registerTable"> <BasicTable @register="registerTable">
<template #bodyCell="{ column, record }"> <template #bodyCell="{ column, record }">
<template v-if="column.key === 'action'"> <template v-if="column.key === 'action'">
...@@ -23,7 +23,7 @@ ...@@ -23,7 +23,7 @@
</template> </template>
</template> </template>
</BasicTable> </BasicTable>
</div> </div> -->
<div class="form-container"> <div class="form-container">
<BasicForm @register="registerForm"> <BasicForm @register="registerForm">
<template #menu="{ model, field }"> <template #menu="{ model, field }">
...@@ -60,22 +60,22 @@ ...@@ -60,22 +60,22 @@
const treeData = ref(); const treeData = ref();
const roleId = ref(); const roleId = ref();
const isPermiss = ref(true); const isPermiss = ref(true);
const getTitle = ref('数据权限信息'); const getTitle = ref('查看日志');
const { createMessage } = useMessage(); const { createMessage } = useMessage();
const emit = defineEmits(['success', 'register']); const emit = defineEmits(['success', 'register']);
const formData = ref({}); const formData = ref({});
const treeDataList = ref<TreeItem[]>([]); const treeDataList = ref<TreeItem[]>([]);
const [registerTable, { reload, getForm }] = useTable({ const [registerTable, { reload, getForm }] = useTable({
api: async (params) => { // api: async (params) => {
const param = { // const param = {
businessId: roleId.value, // businessId: roleId.value,
}; // };
const response = await getRoleMenuSelectedMC(param); // const response = await getRoleMenuSelectedMC(param);
//进行处理数据 // //进行处理数据
const transformedData = transformData(response.data); // 定义一个函数transformData来做你需要的数据转换 // const transformedData = transformData(response.data); // 定义一个函数transformData来做你需要的数据转换
return { ...response, data: transformedData }; // return { ...response, data: transformedData };
}, // },
columns, columns,
useSearchForm: false, useSearchForm: false,
showTableSetting: false, showTableSetting: false,
......
<template>
<BasicModal
v-bind="$attrs"
width="45%"
height="500"
@register="registerModal"
:title="getTitle"
@ok="handleSubmit"
>
<div class="modal-content">
<!-- <div class="table-container">
<BasicTable @register="registerTable">
<template #bodyCell="{ column, record }">
<template v-if="column.key === 'action'">
<TableAction
:actions="[
{
label: '编辑',
onClick: handleEdit.bind(null, record),
},
]"
/>
</template>
</template>
</BasicTable>
</div> -->
<div class="form-container">
<BasicForm @register="registerForm">
<template #menu="{ model, field }">
<BasicTree
v-model:value="model[field]"
:treeData="treeDataList"
:fieldNames="{ title: 'label', key: 'id' }"
checkable
toolbar
/>
</template>
</BasicForm>
</div>
</div>
</BasicModal>
</template>
<script setup lang="ts">
import { BasicTable, useTable, TableAction } from '@/components/Table';
import { useModalInner } from '@/components/Modal';
import BasicModal from '@/components/Modal/src/BasicModal.vue';
import { ref, unref } from 'vue';
import { Table } from 'ant-design-vue';
import { ModelFormSchematab2, columns } from '@/views/auditLog/audiModal.data';
import { addDataScopeApi, getRoleDeptTreeSelect, roleDetailApi } from '@/api/system/role/role';
import { BasicForm, useForm } from '@/components/Form';
import { getMenuListByPage, getMenuSelect, getRoleMenuSelectedMC } from '@/api/system/menu/menu';
import { useMessage } from '@/hooks/web/useMessage';
import { BasicTree, TreeItem } from '@/components/Tree';
defineOptions({ name: 'RoleModal' });
const loadingRef = ref(false);
// 列表
const dataSource = ref([]);
const treeData = ref();
const roleId = ref();
const isPermiss = ref(true);
const getTitle = ref('查看日志');
const { createMessage } = useMessage();
const emit = defineEmits(['success', 'register']);
const formData = ref({});
const treeDataList = ref<TreeItem[]>([]);
const [registerTable, { reload, getForm }] = useTable({
// api: async (params) => {
// const param = {
// businessId: roleId.value,
// };
// const response = await getRoleMenuSelectedMC(param);
// //进行处理数据
// const transformedData = transformData(response.data); // 定义一个函数transformData来做你需要的数据转换
// return { ...response, data: transformedData };
// },
columns,
useSearchForm: false,
showTableSetting: false,
bordered: true,
isTreeTable: true,
pagination: false,
showIndexColumn: false,
actionColumn: {
width: 50,
title: '操作',
dataIndex: 'action',
fixed: undefined,
},
});
const [registerModal, { closeModal, setModalProps }] = useModalInner(async (data) => {
isPermiss.value = data.record.isPermiss;
roleId.value = data.record.businessId;
roleDetailApi(roleId.value).then((res) => {
formData.value = res.data;
const form = {
roleName: res.data.roleName,
};
setFieldsValue({
...form,
});
});
if (unref(treeDataList).length === 0) {
const treeRes = await getMenuSelect();
treeDataList.value = treeRes.data as any as TreeItem[];
}
//控制
updateSchema({
field: 'dataScope',
componentProps: {
onChange: (value: any, option: any, form: any) => {
//调用接口 返回的参数赋值给dictValue
if (value === '2') {
updateSchema({
field: 'menuIds',
ifShow: true,
rules: [
{
required: true,
message: '请选择数据权限',
},
],
});
} else {
updateSchema({
field: 'menuIds',
ifShow: false,
rules: [
{
required: false,
},
],
});
}
},
},
});
reload();
});
//初始化表单
const [registerForm, { setFieldsValue, updateSchema, resetFields, validate, getFieldsValue }] =
useForm({
labelWidth: 100,
schemas: ModelFormSchematab2,
showActionButtonGroup: false,
});
/**编辑按钮*/
function handleEdit(record: Recordable) {
formData.value.menuId = record.businessId;
formData.value.menuName = record.menuName;
const form = {
menuName: record.menuName,
};
setFieldsValue({
...form,
});
const params = {
menuId: formData.value.menuId,
roleId: formData.value.businessId,
};
getRoleDeptTreeSelect(params).then((res) => {
formData.value.deptCheckStrictly = res.data.deptCheckStrictly;
});
}
/**改变列表结构 列表->树*/
function transformData(data) {
treeData.value = handleTree(data, 'businessId', undefined, undefined, undefined);
return treeData.value;
}
/**结构转换方法*/
function handleTree(data, id, parentId, children, rootId) {
id = id || 'id';
parentId = parentId || 'parentId';
children = children || 'children';
rootId =
rootId ||
Math.min.apply(
Math,
data.map((item) => {
return item[parentId];
}),
) ||
0;
// 对源数据深度克隆
const cloneData = JSON.parse(JSON.stringify(data));
// 循环所有项
const treeData = cloneData.filter((father) => {
const branchArr = cloneData.filter((child) => {
// 返回每一项的子级数组
return father[id] === child[parentId];
});
branchArr.length > 0 ? (father.children = branchArr) : '';
// 返回第一层
return father[parentId] === rootId;
});
return treeData !== '' ? treeData : data;
}
/**确认按钮*/
async function handleSubmit() {
try {
const values = await validate();
console.log('values:', values);
setModalProps({ confirmLoading: true });
formData.value.code = values.dataScope;
formData.value.menuIds = values.menuIds;
formData.value.deptIdList = '';
formData.value.roleId = '';
addDataScopeApi(formData.value).then((res) => {
if (res.code === 200) {
createMessage.success('新增成功');
closeModal();
emit('success', { isUpdate: unref(isPermiss), values: { ...values } });
}
});
reload();
} finally {
setModalProps({ confirmLoading: false });
}
}
</script>
<style scoped lang="less">
.modal-content {
display: flex;
height: 100%; // 可以根据需要调整高度
.table-container,
.form-container {
flex: 1; // 每个容器占据一半的空间
overflow: auto; // 如果内容超出容器高度,则显示滚动条
}
.table-container {
border-right: 1px solid #e9ecef; // 可选:在表格和表单之间添加分隔线
}
}
</style>
...@@ -21,19 +21,19 @@ ...@@ -21,19 +21,19 @@
icon: 'clarity:search-line', icon: 'clarity:search-line',
label: '', label: '',
tooltip: '查看详情', tooltip: '查看详情',
onClick: handleView.bind(null, record), onClick: handleViewtab1.bind(null, record),
},
{
icon: 'ant-design:delete-outlined',
// label: '删2222222222222222除',
tooltip: '删除',
color: 'error',
popConfirm: {
title: '是否确认删除',
placement: 'left',
confirm: handleDelete.bind(null, record),
},
}, },
// {
// icon: 'ant-design:delete-outlined',
// // label: '删2222222222222222除',
// tooltip: '删除',
// color: 'error',
// popConfirm: {
// title: '是否确认删除',
// placement: 'left',
// confirm: handleDelete.bind(null, record),
// },
// },
]" ]"
/> />
</template> </template>
...@@ -51,30 +51,32 @@ ...@@ -51,30 +51,32 @@
</template> </template>
<template #bodyCell="{ column, record }"> <template #bodyCell="{ column, record }">
<template v-if="column.key === 'action'"> <template v-if="column.key === 'action'">
<!-- <TableAction <TableAction
:actions="[ :actions="[
// {
// icon: 'clarity:note-edit-line',
// // label: '编22222222222辑',
// onClick: handleEdit.bind(null, record),
// },
{ {
// icon: 'clarity:note-edit-line', icon: 'clarity:search-line',
label: '编22222222222辑', label: '',
onClick: handleEdit.bind(null, record), tooltip: '查看详情',
}, onClick: handleViewtab2.bind(null, record),
{
// icon: 'clarity:note-edit-line',
label: '数据222222222222222权限',
onClick: dataPermiss.bind(null, record),
},
{
// icon: 'ant-design:delete-outlined',
label: '删2222222222222222除',
color: 'error',
popConfirm: {
title: '是否确认删除',
placement: 'left',
confirm: handleDelete.bind(null, record),
},
}, },
// {
// icon: 'ant-design:delete-outlined',
// // label: '删2222222222222222除',
// tooltip: '删除',
// color: 'error',
// popConfirm: {
// title: '是否确认删除',
// placement: 'left',
// confirm: handleDelete.bind(null, record),
// },
// },
]" ]"
/> --> />
</template> </template>
</template> </template>
</BasicTable> </BasicTable>
...@@ -82,6 +84,7 @@ ...@@ -82,6 +84,7 @@
</tabs> </tabs>
<AudiDrawer @register="registerDrawer" @success="handleSuccess" /> <AudiDrawer @register="registerDrawer" @success="handleSuccess" />
<AudiModal @register="registerModal" @success="handleSuccess" /> <AudiModal @register="registerModal" @success="handleSuccess" />
<AudiModaltab2 @register="registerModal2" @success="handleSuccess" />
<AudiModalEmail @register="registerModalEmail" @success="handleSuccess" /> <AudiModalEmail @register="registerModalEmail" @success="handleSuccess" />
<AudiModalClean @register="registerModalClean" @success="handleSuccess" /> <AudiModalClean @register="registerModalClean" @success="handleSuccess" />
</div> </div>
...@@ -99,6 +102,7 @@ ...@@ -99,6 +102,7 @@
import { useFilterStore } from '@/store/modules/filterData'; import { useFilterStore } from '@/store/modules/filterData';
import { useUserStore } from '@/store/modules/user'; import { useUserStore } from '@/store/modules/user';
import AudiModal from './audiModal.vue'; import AudiModal from './audiModal.vue';
import AudiModaltab2 from './audiModaltab2.vue';
import AudiModalEmail from './audiModalEmail.vue'; import AudiModalEmail from './audiModalEmail.vue';
import AudiModalClean from './audiModalClean.vue'; import AudiModalClean from './audiModalClean.vue';
import { useModal } from '@/components/Modal'; import { useModal } from '@/components/Modal';
...@@ -116,6 +120,7 @@ ...@@ -116,6 +120,7 @@
const tableDatatab2 = ref([]); const tableDatatab2 = ref([]);
const [registerDrawer, { openDrawer }] = useDrawer(); const [registerDrawer, { openDrawer }] = useDrawer();
const [registerModal, { openModal }] = useModal(); const [registerModal, { openModal }] = useModal();
const [registerModal2, { openModal: openModal2 }] = useModal();
const [registerModalEmail, { openModal: openModalEmail }] = useModal(); const [registerModalEmail, { openModal: openModalEmail }] = useModal();
const [registerModalClean, { openModal: openModalClean }] = useModal(); const [registerModalClean, { openModal: openModalClean }] = useModal();
const [registerTable, { reload, getForm, getRowSelection }] = useTable({ const [registerTable, { reload, getForm, getRowSelection }] = useTable({
...@@ -147,7 +152,7 @@ ...@@ -147,7 +152,7 @@
bordered: true, bordered: true,
showIndexColumn: false, showIndexColumn: false,
actionColumn: { actionColumn: {
width: 100, width: 50,
title: '操作', title: '操作',
dataIndex: 'action', dataIndex: 'action',
// slots: { customRender: 'action' }, // slots: { customRender: 'action' },
...@@ -173,9 +178,9 @@ ...@@ -173,9 +178,9 @@
return { ...response }; return { ...response };
}, },
columns: columnstab2, columns: columnstab2,
rowSelection: { // rowSelection: {
type: 'checkbox', // type: 'checkbox',
}, // },
formConfig: { formConfig: {
labelWidth: 80, labelWidth: 80,
schemas: searchFormSchematab2, schemas: searchFormSchematab2,
...@@ -185,13 +190,13 @@ ...@@ -185,13 +190,13 @@
showTableSetting: true, showTableSetting: true,
bordered: true, bordered: true,
showIndexColumn: false, showIndexColumn: false,
// actionColumn: { actionColumn: {
// width: 50, width: 50,
// title: '操作', title: '操作',
// dataIndex: 'action', dataIndex: 'action',
// // slots: { customRender: 'action' }, // slots: { customRender: 'action' },
// fixed: undefined, fixed: undefined,
// }, },
}); });
/***新增规则按钮*/ /***新增规则按钮*/
function handleCreate() { function handleCreate() {
...@@ -233,10 +238,16 @@ ...@@ -233,10 +238,16 @@
} }
/**查看详情按钮*/ /**查看详情按钮*/
function handleView() { function handleViewtab1() {
go('/system/account_detail'); openModal(true, {
istab1: true,
});
}
function handleViewtab2() {
openModal2(true, {
istab1: false,
});
} }
/**数据权限按钮*/ /**数据权限按钮*/
function dataPermiss(record: Recordable) { function dataPermiss(record: Recordable) {
openModal(true, { openModal(true, {
...@@ -313,6 +324,7 @@ ...@@ -313,6 +324,7 @@
/**进入页面的初始化方法 getForm2是给tab2用的*/ /**进入页面的初始化方法 getForm2是给tab2用的*/
onMounted(() => { onMounted(() => {
tableData.value = tableListtab1; tableData.value = tableListtab1;
const path = route.path; const path = route.path;
if (filterStore.getSearchParams[path]) { if (filterStore.getSearchParams[path]) {
if (JSON.parse(filterStore.getSearchParams[path] !== {})) { if (JSON.parse(filterStore.getSearchParams[path] !== {})) {
......
...@@ -208,9 +208,12 @@ ...@@ -208,9 +208,12 @@
}); });
} }
/**查看详情按钮*/ /**查看详情按钮*/
function handleViewDetail() { const handleViewDetail = (record: Recordable) => {
openModalDetail(true, {}); openModalNew(true, {
} record,
isUpdate: true,
});
};
/** 导出按钮*/ /** 导出按钮*/
async function handleExport() { async function handleExport() {
console.log('导出----'); console.log('导出----');
...@@ -233,6 +236,28 @@ ...@@ -233,6 +236,28 @@
isUpdate: true, isUpdate: true,
}); });
} }
/** 移动按钮*/
function handleMove(record: Recordable) {
openMoveModelModal(true, {
record,
isMove: true,
});
}
/** 移动 */
function handleMoveSuccess({ isMove, values }) {
const rowSelection = getRowSelection().selectedRowKeys;
if (rowSelection.length > 0) {
//批量移动
for (let i = 0; i < rowSelection.length; i++) {
const result = updateTableDataRecord(values[i].institutionId, values[i]);
}
} else {
//单个移动
const result = updateTableDataRecord(values.businessId, values);
}
reload();
}
/**数据权限按钮*/ /**数据权限按钮*/
function dataPermiss(record: Recordable) { function dataPermiss(record: Recordable) {
......
...@@ -245,11 +245,13 @@ export const formSchema: FormSchema[] = [ ...@@ -245,11 +245,13 @@ export const formSchema: FormSchema[] = [
{ {
field: 'triggerType', field: 'triggerType',
label: '触发方式', label: '触发方式',
component: 'Select', component: 'CheckboxGroup',
componentProps: { componentProps: {
options: [ options: [
{ label: '元数据变更', value: '1' }, { label: '状态切换', value: '1' },
{ label: '元数据处理', value: '2' }, { label: '系统异常', value: '2' },
{ label: '数据异常', value: '3' },
{ label: '策略告警', value: '4' },
], ],
}, },
rules: [ rules: [
...@@ -262,12 +264,11 @@ export const formSchema: FormSchema[] = [ ...@@ -262,12 +264,11 @@ export const formSchema: FormSchema[] = [
{ {
field: 'alarmType', field: 'alarmType',
label: '通知方式', label: '通知方式',
component: 'Select', component: 'CheckboxGroup',
componentProps: { componentProps: {
options: [ options: [
{ label: '站内信', value: '1' }, { label: '站内信', value: '1' },
{ label: '邮件', value: '2' }, { label: '邮件', value: '2' },
{ label: '短信通知', value: '3' },
], ],
}, },
rules: [ rules: [
...@@ -277,6 +278,29 @@ export const formSchema: FormSchema[] = [ ...@@ -277,6 +278,29 @@ export const formSchema: FormSchema[] = [
}, },
], ],
}, },
{
field: 'message',
label: '收件人',
component: 'CheckboxGroup',
componentProps: {
options: [
{ label: '收件人1', value: '1' },
{ label: '收件人2', value: '2' },
],
},
ifShow: ({ values }) => values.alarmType !== undefined && values.alarmType.includes('1'),
required: ({ values }) => values.alarmType !== undefined && values.alarmType.includes('1'),
},
{
field: 'email',
label: '邮箱地址',
component: 'InputTextArea',
componentProps: {
placeholder: '多个邮件地址用;分隔符分割',
},
ifShow: ({ values }) => values.alarmType !== undefined && values.alarmType.includes('2'),
required: ({ values }) => values.alarmType !== undefined && values.alarmType.includes('2'),
},
{ {
field: 'alarmLevel', field: 'alarmLevel',
label: '紧急程度', label: '紧急程度',
......
...@@ -10,7 +10,7 @@ ...@@ -10,7 +10,7 @@
</BasicModal> </BasicModal>
</template> </template>
<script lang="ts" setup> <script lang="ts" setup>
import { ref, computed, unref, reactive } from 'vue'; import { ref, computed, unref, reactive, onMounted } from 'vue';
import { BasicModal, useModalInner } from '@/components/Modal'; import { BasicModal, useModalInner } from '@/components/Modal';
import { BasicForm, useForm } from '@/components/Form'; import { BasicForm, useForm } from '@/components/Form';
import { physicalModelFormSchema } from './nodiModalDetail.data'; import { physicalModelFormSchema } from './nodiModalDetail.data';
...@@ -28,6 +28,7 @@ ...@@ -28,6 +28,7 @@
const isUpdate = ref(true); const isUpdate = ref(true);
const isMove = ref(false); const isMove = ref(false);
const rowId = ref(''); const rowId = ref('');
const tableData = ref([]);
//获取接口数据并放在下拉框里(这里是打开了一个弹框) //获取接口数据并放在下拉框里(这里是打开了一个弹框)
//初始化表单 //初始化表单
const [registerForm, { setFieldsValue, updateSchema, resetFields, validate }] = useForm({ const [registerForm, { setFieldsValue, updateSchema, resetFields, validate }] = useForm({
...@@ -46,17 +47,9 @@ ...@@ -46,17 +47,9 @@
isMove.value = !!data?.isMove; isMove.value = !!data?.isMove;
if (unref(isUpdate)) { if (unref(isUpdate)) {
// 获取行数据的id // 获取行数据的id
rowId.value = data.record.businessId; var userData = [];
// 塞值 userData = tableData.value.filter((item) => item.businessId === rowId.value);
setFieldsValue({ setFieldsValue(userData[0]);
createDate: data.record.createDate,
alarmRule: data.record.alarmRule,
alarmLevel: data.record.alarmLevel,
resourceType: data.record.resourceType,
triggerType: data.record.triggerType,
businessId: data.record.businessId,
institutionId: data.record.institutionId,
});
} }
const treeList = handleTree(TreeData, 'businessId', undefined, undefined, undefined); const treeList = handleTree(TreeData, 'businessId', undefined, undefined, undefined);
...@@ -72,7 +65,9 @@ ...@@ -72,7 +65,9 @@
}); });
const getTitle = computed(() => (!unref(isUpdate) ? '查看详情' : '查看详情')); const getTitle = computed(() => (!unref(isUpdate) ? '查看详情' : '查看详情'));
onMounted(() => {
tableData.value = TreeData;
});
function handleTree(data, id, parentId, children, rootId) { function handleTree(data, id, parentId, children, rootId) {
id = id || 'id'; id = id || 'id';
parentId = parentId || 'parentId'; parentId = parentId || 'parentId';
......
...@@ -29,7 +29,9 @@ ...@@ -29,7 +29,9 @@
const emit = defineEmits(['success', 'register']); const emit = defineEmits(['success', 'register']);
const { createMessage } = useMessage(); const { createMessage } = useMessage();
const isUpdate = ref(true); const isUpdate = ref(false);
const isMove = ref(false);
const rowId = ref('');
const roleId = ref(''); const roleId = ref('');
const treeData = ref<TreeItem[]>([]); const treeData = ref<TreeItem[]>([]);
async function handleSubmit() { async function handleSubmit() {
...@@ -47,25 +49,18 @@ ...@@ -47,25 +49,18 @@
schemas: formSchema, schemas: formSchema,
showActionButtonGroup: false, showActionButtonGroup: false,
}); });
const [registerModal, { closeModal, setModalProps }] = useModalInner(async (data) => { const [registerModal, { setModalProps, closeModal }] = useModalInner(async (data) => {
roleId.value = data.record.businessId; resetFields();
const form = { setModalProps({ confirmLoading: false });
ruleName: data.record.ruleName, isUpdate.value = !!data?.isUpdate;
description: data.record.description, isMove.value = !!data?.isMove;
roleStatus: data.record.roleStatus, if (unref(isUpdate) && data.record) {
resourceType: data.record.resourceType, // 获取行数据的id
alarmRange: data.record.alarmRange, rowId.value = data.record.businessId;
triggerType: data.record.triggerType, // 塞值
alarmType: data.record.alarmType, setFieldsValue({
alarmLevel: data.record.alarmLevel, ...data.record,
}; });
setFieldsValue({
...form,
});
if (unref(treeData).length === 0) {
const treeRes = await getMenuSelect();
treeData.value = treeRes.data as any as TreeItem[];
} }
}); });
</script> </script>
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