Commit 7ffe3acd authored by baiyinhao's avatar baiyinhao

修改功能组1页面并添加两个详情页占位

parent d8ea4566
......@@ -18,7 +18,7 @@
import { addUserApi, UserDetailApi, UserUpdataApi } from '@/api/system/user/user';
import { encryptTwo } from '../../../../src/utils/jsencrypt.js';
import { useMessage } from '@/hooks/web/useMessage';
import { tableListtab1 } from './mock';
import { TableData } from './mock';
import { router } from '@/router';
defineOptions({ name: 'ModelModal' });
......@@ -45,14 +45,13 @@
setModalProps({ confirmLoading: false });
isUpdate.value = !!data?.isUpdate;
isMove.value = !!data?.isMove;
if (unref(isUpdate)) {
// 获取行数据的id
rowId.value = data.record.businessId;
// 塞值
setFieldsValue({
...data.record,
});
}
// 获取行数据的id
rowId.value = data.record.businessId;
// 塞值
setFieldsValue({
...data.record,
});
// const treeList = handleTree(TableData, 'businessId', undefined, undefined, undefined);
// console.log('treeList', treeList);
......@@ -66,7 +65,9 @@
// ]);
});
const getTitle = computed(() => (!unref(isUpdate) ? '查看日志' : '查看日志'));
const getTitle = computed(() =>
!unref(isUpdate) ? '查看用户操作记录详情' : '查看用户操作记录详情',
);
function handleTree(data, id, parentId, children, rootId) {
id = id || 'id';
......
<template>
<BasicModal
width="40%"
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>
<BasicForm @register="registerForm" />
</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';
<script lang="ts" setup>
import { ref, computed, unref, reactive } from 'vue';
import { BasicModal, useModalInner } from '@/components/Modal';
import { BasicForm, useForm } from '@/components/Form';
import { getMenuListByPage, getMenuSelect, getRoleMenuSelectedMC } from '@/api/system/menu/menu';
import { ModelFormSchematab2 } from './audiModal.data';
import { getDeptList } from '@/api/system/dept/dept';
import { addUserApi, UserDetailApi, UserUpdataApi } from '@/api/system/user/user';
import { encryptTwo } from '../../../../src/utils/jsencrypt.js';
import { useMessage } from '@/hooks/web/useMessage';
import { BasicTree, TreeItem } from '@/components/Tree';
import { TableData } from './mock';
import { router } from '@/router';
defineOptions({ name: 'ModelModal' });
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 { createMessage } = useMessage();
const isUpdate = ref(true);
const isMove = ref(false);
const rowId = ref('');
//获取接口数据并放在下拉框里(这里是打开了一个弹框)
//初始化表单
const [registerForm, { setFieldsValue, updateSchema, resetFields, validate }] = useForm({
labelWidth: 100,
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,
schemas: ModelFormSchematab2,
showActionButtonGroup: false,
actionColOptions: {
span: 23,
},
});
//初始化弹框
const [registerModal, { setModalProps, closeModal }] = useModalInner(async (data) => {
resetFields();
setModalProps({ confirmLoading: false });
isUpdate.value = !!data?.isUpdate;
isMove.value = !!data?.isMove;
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,
});
// 获取行数据的id
rowId.value = data.record.businessId;
// 塞值
setFieldsValue({
...data.record,
});
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 treeList = handleTree(TableData, 'businessId', undefined, undefined, undefined);
// console.log('treeList', treeList);
// updateSchema([
// {
// field: 'modelId',
// componentProps: {
// tableData: treeList,
// },
// },
// ]);
});
//初始化表单
const [registerForm, { setFieldsValue, updateSchema, resetFields, validate, getFieldsValue }] =
useForm({
labelWidth: 100,
schemas: ModelFormSchematab2,
showActionButtonGroup: false,
});
const getTitle = computed(() =>
!unref(isUpdate) ? '查看数据源访问日志详情' : '查看数据源访问日志详情',
);
/**编辑按钮*/
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';
......@@ -204,42 +97,14 @@
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%; // 可以根据需要调整高度
const values = await validate();
// router.push({
// path: '/metaModel/physicsModel/EditRowTable',
// query: {},
// });
.table-container,
.form-container {
flex: 1; // 每个容器占据一半的空间
overflow: auto; // 如果内容超出容器高度,则显示滚动条
}
.table-container {
border-right: 1px solid #e9ecef; // 可选:在表格和表单之间添加分隔线
}
closeModal();
}
</style>
</script>
......@@ -124,7 +124,7 @@
const [registerModalEmail, { openModal: openModalEmail }] = useModal();
const [registerModalClean, { openModal: openModalClean }] = useModal();
const [registerTable, { reload, getForm, getRowSelection }] = useTable({
title: '审计日志',
title: '',
api: async (params) => {
console.log('params', params);
const response = {
......@@ -163,7 +163,7 @@
registerTable2,
{ reload: reload2, getForm: getForm2, getRowSelection: getRowSelection2 },
] = useTable({
title: '通知规则名称',
title: '',
api: async (params) => {
console.log('params', params);
const response = {
......@@ -238,13 +238,15 @@
}
/**查看详情按钮*/
function handleViewtab1() {
function handleViewtab1(record: Recordable) {
openModal(true, {
record,
istab1: true,
});
}
function handleViewtab2() {
function handleViewtab2(record: Recordable) {
openModal2(true, {
record,
istab1: false,
});
}
......@@ -336,13 +338,6 @@
roleKey: params.roleKey,
flag: params.flag,
});
getForm2().setFieldsValue({
page: params.page,
pageSize: params.pageSize,
roleName: params.roleName,
roleKey: params.roleKey,
flag: params.flag,
});
}
}
});
......
<template>
<BasicModal width="50%" v-bind="$attrs" @register="registerModal" :title="getTitle" @ok="handleSubmit">
<BasicForm @register="registerForm"/>
<BasicModal
width="50%"
v-bind="$attrs"
@register="registerModal"
:title="getTitle"
@ok="handleSubmit"
>
<BasicForm @register="registerForm" />
<div class="modalRow">
<div>可见范围</div>
<div class="right">
<div class="clearAll">
清空
</div>
<div class="clearAll"> 清空 </div>
<div>
<a-button type="primary">添加工作组</a-button>
</div>
......@@ -14,23 +18,23 @@
</div>
<div class="addDialogBG">
<div style="float: right">
<Icon icon="ant-design:delete-outlined" :size="25" :color="'#ED6F6F'" />
<Icon icon="ant-design:delete-outlined" :size="25" :color="'#ED6F6F'" />
</div>
<TreeTwo class="w-1/4 xl:w-1/5" @select="handleSelect" />
</div>
</BasicModal>
</template>
<script lang="ts" setup>
import {ref, computed, unref, reactive} from 'vue';
import { ref, computed, unref, reactive } from 'vue';
import { BasicModal, useModalInner } from '@/components/Modal';
import { BasicForm, useForm } from '@/components/Form';
import {resetNameFormSchema} from './basicStandards.data';
import { resetNameFormSchema, createBasicTypeFormSchema } from './basicStandards.data';
import { getDeptList } from '@/api/system/dept/dept';
import {addUserApi,UserDetailApi,UserUpdataApi} from '@/api/system/user/user'
import { addUserApi, UserDetailApi, UserUpdataApi } from '@/api/system/user/user';
import { useMessage } from '@/hooks/web/useMessage';
import {createBasicTypeFormSchema} from './basicStandards.data';
import {TreeData} from "@/views/dataStandards/basicStandards/basicStandardsData";
import TreeTwo from '@/views/dataStandards/basicStandards/TreeTwo.vue'
import { TreeData } from '@/views/dataStandards/basicStandards/basicStandardsData';
import TreeTwo from '@/views/dataStandards/basicStandards/TreeTwo.vue';
defineOptions({ name: 'AccountModal' });
const emit = defineEmits(['success', 'register']);
......@@ -52,88 +56,98 @@
const [registerModal, { setModalProps, closeModal }] = useModalInner(async (data) => {
resetFields();
setModalProps({ confirmLoading: false });
var formData = {}
if (data.record === null || data.record === undefined){
var formData = {};
if (data.record === null || data.record === undefined) {
formData = {
standardsTree: '100'
}
standardsTree: '100',
};
} else {
formData = {
standardsTree: data.record.businessId
}
standardsTree: data.record.businessId,
};
}
// 塞值
setFieldsValue({
...formData,
});
const treeList = handleTree(TreeData, 'businessId',undefined,undefined,undefined)
const treeList = handleTree(TreeData, 'businessId', undefined, undefined, undefined);
updateSchema([
{
field: 'standardsTree',
componentProps: {
treeData: treeList
treeData: treeList,
},
},
{
field: 'ModelTree',
componentProps: {
treeData: treeList
treeData: treeList,
},
},
]);
});
const getTitle = computed(() => ('新建文件夹'));
const getTitle = computed(() => '新建文件夹');
/**确定按钮*/
async function handleSubmit() {
closeModal()
closeModal();
}
/**数组对象转成树*/
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
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 cloneData = JSON.parse(JSON.stringify(data));
// 循环所有项
const treeData = cloneData.filter(father => {
const branchArr = cloneData.filter(child => {
const treeData = cloneData.filter((father) => {
const branchArr = cloneData.filter((child) => {
// 返回每一项的子级数组
return father[id] === child[parentId]
})
branchArr.length > 0 ? father.children = branchArr : ''
return father[id] === child[parentId];
});
branchArr.length > 0 ? (father.children = branchArr) : '';
// 返回第一层
return father[parentId] === rootId
})
return treeData !== '' ? treeData : data
return father[parentId] === rootId;
});
return treeData !== '' ? treeData : data;
}
</script>
<style lang="scss" scoped>
.modalRow{
padding: 0 20px;
display: flex;
align-items: center;
justify-content: space-between;
.clearAll{
padding-right: 10px;
font-size: 16px;
}
.right{
.modalRow {
display: flex;
align-items: center;
justify-content: space-between;
padding: 0 20px;
.clearAll {
padding-right: 10px;
font-size: 16px;
}
.right {
display: flex;
align-items: center;
justify-content: space-between;
}
}
.addDialogBG {
width: 98%;
height: 400px;
margin: 10px;
padding: 20px;
border-radius: 10px;
background-color: #e8ecf7;
}
}
.addDialogBG{
margin: 10px;
border-radius: 10px;
padding: 20px;
background-color: #E8ECF7;
width: 98%;
height: 400px;
}
</style>
export const tableListtab1: any[] = [
{
createDate: '2024-10-24 10:04:04',
alarmRuleName: '元数据变更',
alarmRuleName: 'tdt_超时',
alarmLevel: '高',
resourceType: '数据加载',
triggerType: '运行成功',
details: '详情文本1',
ErrorCode: '${502}',
businessId: 401,
institutionId: null,
},
{
createDate: '2024-10-24 10:04:04',
alarmRuleName: '元数据变更',
alarmRuleName: 'tdt_超时',
alarmLevel: '高',
resourceType: '数据加载',
triggerType: '运行成功',
details: '详情文本2',
ErrorCode: '${502}',
businessId: 402,
institutionId: null,
},
{
createDate: '2024-10-24 10:04:04',
alarmRuleName: '元数据变更',
alarmRuleName: 'tdt_超时',
alarmLevel: '中',
resourceType: '数据加载',
triggerType: '运行成功',
details: '详情文本3',
ErrorCode: '${502}',
businessId: 403,
institutionId: null,
},
{
createDate: '2024-10-24 10:04:04',
alarmRuleName: '元数据变更',
alarmRuleName: 'tdt_超时',
alarmLevel: '高',
resourceType: '数据加载',
triggerType: '运行失败',
details: '详情文本4',
ErrorCode: '${502}',
businessId: 404,
institutionId: null,
},
{
createDate: '2024-10-24 10:04:04',
alarmRuleName: '元数据变更',
alarmRuleName: 'tdt_超时',
alarmLevel: '低',
resourceType: '数据加载',
triggerType: '开始运行',
details: '详情文本5',
ErrorCode: '${502}',
businessId: 405,
institutionId: null,
},
......
......@@ -338,153 +338,78 @@ export const formSchema: FormSchema[] = [
];
export const formSchema2: FormSchema[] = [
{
field: 'alarmRuleName',
label: '规则名称',
component: 'Input',
colProps: { span: 24 },
rules: [
{
required: true,
message: '请输入规则名称',
},
],
field: 'basicInformation',
component: 'BasicTitle',
label: '基本信息',
componentProps: {
// line: true,
span: true,
},
colProps: {
span: 24,
},
},
{
field: 'description',
label: '描述',
component: 'InputTextArea',
colProps: { span: 24 },
field: 'taskName',
label: '任务名称',
component: 'Input',
defaultValue: '任务名称1',
colProps: { span: 12 },
},
{
field: 'roleStatus',
label: '规则状态',
component: 'Switch',
colProps: { span: 24 },
defaultValue: false,
field: 'createTime',
label: '通知时间',
component: 'Input',
defaultValue: '2022-01-01 00:00:00',
colProps: { span: 12 },
},
{
field: 'resourceType',
label: '资源类型',
field: 'alarmLevel',
label: '紧急程度',
component: 'Select',
colProps: { span: 24 },
componentProps: {
defaultValue: '数据加载',
options: [
{ label: '数据加载', value: '1' },
{ label: '数据同步', value: '2' },
{ label: '工作流', value: '3' },
{ label: '标签', value: '4' },
{ label: '数据质量任务', value: '5' },
{ label: '落标检查任务', value: '6' },
{ label: '元数据变更', value: '7' },
{ label: '标准版本变更', value: '8' },
],
},
},
//未解决问题:作用范围列未添加
// {
// field: 'alarmRange',
// label: '作用范围',
// component: 'Select',
// colProps: { span: 24 },
// componentProps: {
// options: [
// { label: '元数据变更', value: '1' },
// { label: '元数据处理', value: '2' },
// ],
// },
// rules: [
// {
// required: true,
// message: '请选择作用范围',
// },
// ],
// },
{
field: 'triggerType',
label: '触发方式',
component: 'CheckboxGroup',
colProps: { span: 24 },
colProps: { span: 12 },
componentProps: {
defaultValue: ['1'],
options: [
{ label: '运行失败', value: '1' },
{ label: '运行成功', value: '2' },
{ label: '开始运行', value: '3' },
{ label: '运行超时', value: '4' },
{ label: '源端元数据更新', value: '5' },
{ label: '低', value: '1' },
{ label: '中', value: '2' },
{ label: '高', value: '3' },
],
},
rules: [
{
required: true,
message: '请选择触发方式',
message: '请选择紧急程度',
},
],
},
{
field: 'alarmType',
label: '通知方式',
component: 'CheckboxGroup',
colProps: { span: 24 },
componentProps: {
defaultValue: ['1', '2'],
options: [
{ label: '站内信', value: '1' },
{ label: '邮件', value: '2' },
],
},
rules: [
{
required: true,
message: '请选择通知方式',
},
],
field: 'alarmRuleName',
label: '通知规则',
component: 'Input',
colProps: { span: 12 },
},
{
field: 'message',
label: '收件人',
component: 'CheckboxGroup',
colProps: { span: 12 },
field: 'alarmsDetails',
component: 'BasicTitle',
label: '通知详情',
componentProps: {
defaultValue: ['1'],
options: [
{ label: '收件人1', value: '1' },
{ label: '收件人2', value: '2' },
],
// line: true,
span: true,
},
colProps: {
span: 24,
},
ifShow: ({ values }) => values.alarmType !== undefined && values.alarmType.includes('1'),
required: ({ values }) => values.alarmType !== undefined && values.alarmType.includes('1'),
},
{
field: 'email',
label: '邮箱地址',
field: 'details',
label: '详情:',
component: 'InputTextArea',
colProps: { span: 12 },
componentProps: {
defaultValue: '11111112222222@123321.123',
placeholder: '多个邮件地址用;分隔符分割',
},
ifShow: ({ values }) => values.alarmType !== undefined && values.alarmType.includes('2'),
required: ({ values }) => values.alarmType !== undefined && values.alarmType.includes('2'),
colProps: { span: 24 },
},
{
field: 'alarmLevel',
label: '紧急程度',
component: 'Select',
field: 'ErrorCode',
label: '错误码',
component: 'Input',
colProps: { span: 24 },
componentProps: {
options: [
{ label: '低', value: '1' },
{ label: '中', value: '2' },
{ label: '高', value: '3' },
],
},
rules: [
{
required: true,
message: '请选择紧急程度',
},
],
},
];
......@@ -123,12 +123,6 @@
/**确定按钮*/
async function handleSubmit() {
const values = await validate();
// router.push({
// path: '/metaModel/physicsModel/EditRowTable',
// query: {},
// });
closeModal();
}
</script>
......
......@@ -8,14 +8,14 @@
:showCancelBtn="false"
>
<BasicForm @register="registerForm" />
<div class="modalRow">
<!-- <div class="modalRow">
<div style="display: flex; align-items: center">
<span style="margin-right: 5px; color: red">*</span>
<div>可见范围</div>
</div>
<div class="right">
<!-- <div class="clearAll"> 清空 </div> -->
<div>
<div class="right"> -->
<!-- <div class="clearAll"> 清空 </div> -->
<!-- <div>
<a-button type="primary">添加工作区</a-button>
</div>
</div>
......@@ -25,7 +25,7 @@
<Icon icon="ant-design:delete-outlined" :size="25" :color="'#ED6F6F'" />
</div>
<TreeTwo class="w-1/4 xl:w-1/5 treedisabled" @select="handleSelect" />
</div>
</div> -->
</BasicModal>
</template>
<script lang="ts" setup>
......
<template>
<p>发起事项详情页</p>
</template>
<template>
<p>已办事项详情页</p>
</template>
......@@ -39,7 +39,7 @@
{
icon: 'clarity:search-line',
label: '查看详情',
onClick: handleView.bind(null, record),
onClick: handleViewtab2.bind(null, record),
},
// {
// // icon: 'clarity:note-edit-line',
......@@ -79,7 +79,7 @@
{
icon: 'clarity:search-line',
label: '查看详情',
onClick: handleView.bind(null, record),
onClick: handleViewtab3.bind(null, record),
},
// {
// // icon: 'clarity:note-edit-line',
......@@ -125,7 +125,7 @@
searchFormSchematab3,
} from './processCenter.data';
import { reactive, unref, onDeactivated, onMounted, ref } from 'vue';
import { useRoute, onBeforeRouteLeave } from 'vue-router';
import { useRoute, onBeforeRouteLeave, useRouter } from 'vue-router';
import { useFilterStore } from '@/store/modules/filterData';
import { useUserStore } from '@/store/modules/user';
import ProCenterModal from './processCenterModal.vue';
......@@ -140,6 +140,7 @@
defineOptions({ name: 'RoleManagement' });
const filterStore = useFilterStore();
const route = useRoute();
const $router = useRouter();
const go = useGo();
const { createMessage } = useMessage();
const tableData = ref([]);
......@@ -305,9 +306,25 @@
});
}
/**查看详情按钮*/
function handleView() {
go('/system/process_detail');
/**查看详情按钮tab2*/
function handleViewtab2(record: Recordable) {
const businessId = record.businessId;
$router.push({
path: '/processCenter/detailsTab2',
query: {
businessId,
},
});
}
/**查看详情按钮tab3*/
function handleViewtab3(record: Recordable) {
const businessId = record.businessId;
$router.push({
path: '/processCenter/detailsTab3',
query: {
businessId,
},
});
}
/**数据权限按钮*/
function dataPermiss(record: Recordable) {
......
......@@ -16,7 +16,7 @@
getDictListByPage,
} from '@/api/system/dict/dict';
import { useMessage } from '@/hooks/web/useMessage';
import { message } from 'ant-design-vue';
import { message, Modal } from 'ant-design-vue';
defineOptions({ name: 'DictModal' });
......@@ -42,19 +42,15 @@
resetFields();
setModalProps({ confirmLoading: false });
isUpdate.value = !!data?.isUpdate;
if (unref(isUpdate)) {
//修改
// 获取行数据的id
dictId.value = data.record.businessId;
// 通过id获取行详情信息
DictDetailApi(dictId.value).then((res) => {
const form = res.data;
// 塞值
setFieldsValue({
...form,
});
});
}
//修改
// 获取行数据的id
// 获取行数据的id
dictId.value = data.record.businessId;
// 塞值
setFieldsValue({
...data.record,
});
//给父子典名称和数据赋值
var options = [];
......@@ -111,7 +107,16 @@
});
async function handleSubmit() {
closeModal();
message.success('审批成功');
Modal.confirm({
title: '确认审批',
content: '是否审批通过此记录?',
onOk: () => {
createMessage.success('审批通过成功');
closeModal();
},
onCancel: () => {
createMessage.info('取消审批');
},
});
}
</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