Commit 5e9e3c75 authored by baiyinhao's avatar baiyinhao

修改

parent cd30d558
......@@ -51,7 +51,12 @@
:actions="[
{
label: '上架',
onClick: handleUpload.bind(null),
popConfirm: {
title: '是否确认上架',
placement: 'left',
confirm: handleUpload.bind(null),
},
ifShow: record.uploadStatus === '1',
},
{
label: '编辑',
......@@ -202,9 +207,7 @@
}
function handleUpload() {
openUploadModal(true, {
isUpdate: false,
});
createMessage.success('上架成功!');
}
function handDelete() {
createMessage.success('删除成功!');
......
......@@ -9,7 +9,7 @@ export const resourceList = [
applicantOrganization: '开发部',
description: '自动生成 RESTful 和 GraphQL API 的文档,支持多种输出格式。',
label: '工具',
permissionType: '推送',
permissionType: '调用',
applicant: 'admin',
createdTime: '2023/10/01 09:00:00',
view: '150',
......@@ -24,7 +24,7 @@ export const resourceList = [
color: '#71c8d5',
ownershipBody: '测试部',
applicantOrganization: '测试部',
permissionType: '推送',
permissionType: '调用',
description: '提供一个全面的 API 测试环境,包括自动化测试和性能测试。',
label: '测试',
applicant: 'admin',
......@@ -41,7 +41,7 @@ export const resourceList = [
color: '#71c8d5',
ownershipBody: '安全部',
applicantOrganization: '安全部',
permissionType: '下载',
permissionType: '调用',
description: '定期进行 API 安全审查,确保所有接口符合安全标准。',
label: '安全',
applicant: 'admin',
......@@ -58,7 +58,7 @@ export const resourceList = [
color: '#71c8d5',
ownershipBody: '架构部',
applicantOrganization: '架构部',
permissionType: '推送',
permissionType: '调用',
description: '管理和维护不同版本的 API,确保向后兼容性和稳定性。',
label: '管理',
applicant: 'admin',
......@@ -75,7 +75,7 @@ export const resourceList = [
color: '#71c8d5',
ownershipBody: '运维部',
applicantOrganization: '运维部',
permissionType: '下载',
permissionType: '调用',
description: '实时监控 API 的性能指标,如响应时间和吞吐量,以保证服务的高可用性。',
label: '监控',
applicant: 'admin',
......@@ -92,7 +92,7 @@ export const resourceList = [
color: '#71c8d5',
ownershipBody: '数据分析部',
applicantOrganization: '数据分析部',
permissionType: '推送',
permissionType: '调用',
description: '分析 API 的流量模式,识别使用趋势和潜在问题。',
label: '分析',
applicant: 'admin',
......@@ -109,7 +109,7 @@ export const resourceList = [
color: '#71c8d5',
ownershipBody: '安全部',
applicantOrganization: '安全部',
permissionType: '下载',
permissionType: '调用',
description: '实现强大的认证和授权机制,保护 API 不受未授权访问。',
label: '安全',
applicant: 'admin',
......@@ -126,7 +126,7 @@ export const resourceList = [
color: '#71c8d5',
ownershipBody: '运维部',
applicantOrganization: '运维部',
permissionType: '推送',
permissionType: '调用',
description: '详细记录 API 调用的日志,便于故障排查和行为审计。',
label: '监控',
applicant: 'admin',
......
......@@ -27,6 +27,7 @@
</template>
</template>
</BasicTable>
<VersionPublishModal @register="registerVersionPublishModal" />
</BasicModal>
</template>
<script lang="ts" setup>
......@@ -43,6 +44,8 @@
import { useUserStore } from '@/store/modules/user';
import { userData } from '@/views/system/institution/institutionData';
import { router } from '@/router';
import VersionPublishModal from './versionPublishModal.vue';
import { message } from 'ant-design-vue';
defineOptions({ name: 'AccountManagement' });
const { createMessage } = useMessage();
......@@ -55,6 +58,7 @@
const getTitle = computed(() => '版本管理');
const tableData = ref([]);
const isAdd = ref(true);
const [registerVersionPublishModal, { openModal: openVersionPublishModal }] = useModal();
const [
registerTable,
{ reload, updateTableDataRecord, getSearchInfo, getForm, getRowSelection },
......@@ -110,6 +114,7 @@
/** 对比成功*/
function contrastButton() {
handleVersionPublish();
closeModal();
// router.push({
// path: '/dataStandards/namingDictionary/domain/versionContrast',
......@@ -127,9 +132,15 @@
/** 查看*/
function detailButton(record) {
emit('success', { values: { ...record } });
message.success('查看' + record.versionName + '版本!');
closeModal();
}
function handleVersionPublish() {
openVersionPublishModal(true, {
title: '版本对比:数据集1',
isPublish: false,
});
}
onMounted(() => {
tableData.value = versionData;
});
......
......@@ -48,11 +48,12 @@
<div>
<BasicForm @register="registerOptionsForm" />
</div>
<VersionPublishModal @register="registerVersionPublishModal" />
</BasicModal>
</template>
<script lang="ts" setup>
import { ref, unref } from 'vue';
import { BasicModal, useModalInner } from '@/components/Modal';
import { BasicModal, useModalInner, useModal } from '@/components/Modal';
import { BasicForm, useForm } from '@/components/Form';
import {
editColumns,
......@@ -68,6 +69,7 @@
import { BasicTable, TableAction, useTable } from '@/components/Table';
import { Alert } from 'ant-design-vue';
import { router } from '@/router';
import VersionPublishModal from './versionPublishModal.vue';
defineOptions({ name: 'AccountModal' });
......@@ -75,6 +77,7 @@
const isUpdate = ref(true);
const { createMessage } = useMessage();
const title = ref();
//获取接口数据并放在下拉框里(这里是打开了一个弹框)
//初始化表单
const [registerForm, { setFieldsValue, updateSchema, resetFields, validate }] = useForm({
......@@ -155,6 +158,7 @@
...data.record,
});
}
const [registerVersionPublishModal, { openModal: openVersionPublishModal }] = useModal();
title.value = data.title;
const treeList = handleTree(TreeData, 'businessId', undefined, undefined, undefined);
updateSchema([
......@@ -204,29 +208,37 @@
closeModal();
createMessage.success('提交成功');
}
function handleVersionPublish() {
openVersionPublishModal(true, {
title: '申请发布V10.0版本:数据集1',
});
}
</script>
<style lang="scss" scoped>
.modalRow {
padding: 0 20px;
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;
border-radius: 10px;
padding: 20px;
border-radius: 10px;
background-color: #e8ecf7;
width: 98%;
height: 400px;
}
</style>
......@@ -7,11 +7,11 @@
@ok="handleSubmit"
>
<div>
<BasicForm @register="registerForm" />
<BasicForm @register="registerForm" v-if="isPublish" />
<Description size="middle" title="版本对比" :bordered="false" />
</div>
<div class="flex">
<div style="width: 50%; border: rgba(26, 26, 26, 0.12) 1px solid">
<div style="width: 50%; border: rgb(26 26 26 / 12%) 1px solid">
<div style="padding-left: 20px; font-size: 16px; font-weight: 500">V9.0(当前)</div>
<Description
size="middle"
......@@ -54,7 +54,7 @@
:schema="permissionSchema"
/>
</div>
<div style="width: 50%; border: rgba(26, 26, 26, 0.12) 1px solid">
<div style="width: 50%; border: rgb(26 26 26 / 12%) 1px solid">
<div style="padding-left: 20px; font-size: 16px; font-weight: 500">发布版本</div>
<Description
size="middle"
......@@ -101,7 +101,7 @@
</BasicModal>
</template>
<script lang="ts" setup>
import { ref } from 'vue';
import { onMounted, ref } from 'vue';
import { BasicModal, useModalInner } from '@/components/Modal';
import { useMessage } from '@/hooks/web/useMessage';
import { BasicForm, useForm } from '@/components/Form';
......@@ -114,16 +114,21 @@
} from '@/views/mallResourceDevelopment/dataSet/datasetByCreate/data';
import Description from '@/components/Description/src/Description.vue';
import {
basicData, basicNewData, basicOldData,
basicData,
basicNewData,
basicOldData,
optionData,
permissionData,
sourceTableData,
} from '@/views/mallResourceDevelopment/dataSet/datasetByCreate/dataFileData';
import { t } from '@/hooks/web/useI18n';
defineOptions({ name: 'KnowledgeModal' });
const { createMessage } = useMessage();
const title = ref();
const isPublish = ref([]);
const [registerForm, { resetFields }] = useForm({
labelWidth: 100,
baseColProps: { lg: 12, md: 12 },
......@@ -138,10 +143,16 @@
await resetFields();
setModalProps({ confirmLoading: false });
title.value = data.title;
if (data.isPublish === false) {
isPublish.value = false;
} else {
isPublish.value = true;
}
});
async function handleSubmit() {
closeModal();
createMessage.success('提交成功');
}
onMounted(() => {});
</script>
......@@ -347,30 +347,30 @@ export const samplingInfoData: any[] = [
},
];
export const associationRulesData: any[] = [
{
applicant: 'admin',
appInstitution: '机构1',
applicationTime: '2024-11-29 13:53:58',
applicationType: '上线',
titleApplication: '人力资源信息',
status: '审核中',
},
{
applicant: 'admin',
appInstitution: '机构1',
applicationTime: '2024-11-19 13:53:58',
applicationType: '推送',
titleApplication: '人力资源信息',
status: '已驳回',
},
{
applicant: 'admin',
appInstitution: '机构1',
applicationTime: '2024-11-22 13:53:58',
applicationType: '下线',
titleApplication: '人力资源信息',
status: '审核中',
},
// {
// applicant: 'admin',
// appInstitution: '机构1',
// applicationTime: '2024-11-29 13:53:58',
// applicationType: '上线',
// titleApplication: '人力资源信息',
// status: '审核中',
// },
// {
// applicant: 'admin',
// appInstitution: '机构1',
// applicationTime: '2024-11-19 13:53:58',
// applicationType: '推送',
// titleApplication: '人力资源信息',
// status: '已驳回',
// },
// {
// applicant: 'admin',
// appInstitution: '机构1',
// applicationTime: '2024-11-22 13:53:58',
// applicationType: '下线',
// titleApplication: '人力资源信息',
// status: '审核中',
// },
{
applicant: 'admin',
appInstitution: '机构1',
......@@ -381,36 +381,36 @@ export const associationRulesData: any[] = [
},
];
export const associationRulesInfoData: any[] = [
{
name: 'admin',
appInstitution: '机构1',
target: 'https://127.0.01',
applicationTime: '2024-11-29 13:53:58',
applicationType: '上线',
invalidReason: '-',
titleApplication: '人力资源信息',
status: '审核中',
},
{
name: 'admin',
appInstitution: '机构1',
target: 'https://127.0.01',
applicationTime: '2024-11-19 13:53:58',
applicationType: '推送',
invalidReason: '-',
titleApplication: '人力资源信息',
status: '已驳回',
},
{
name: 'admin',
target: 'https://127.0.01',
appInstitution: '机构1',
invalidReason: '-',
applicationTime: '2024-11-22 13:53:58',
applicationType: '下线',
titleApplication: '人力资源信息',
status: '审核中',
},
// {
// name: 'admin',
// appInstitution: '机构1',
// target: 'https://127.0.01',
// applicationTime: '2024-11-29 13:53:58',
// applicationType: '上线',
// invalidReason: '-',
// titleApplication: '人力资源信息',
// status: '审核中',
// },
// {
// name: 'admin',
// appInstitution: '机构1',
// target: 'https://127.0.01',
// applicationTime: '2024-11-19 13:53:58',
// applicationType: '推送',
// invalidReason: '-',
// titleApplication: '人力资源信息',
// status: '已驳回',
// },
// {
// name: 'admin',
// target: 'https://127.0.01',
// appInstitution: '机构1',
// invalidReason: '-',
// applicationTime: '2024-11-22 13:53:58',
// applicationType: '下线',
// titleApplication: '人力资源信息',
// status: '审核中',
// },
{
name: 'admin',
appInstitution: '机构1',
......@@ -431,30 +431,30 @@ export const reviewData: any[] = [
target: 'https://127.0.0.1',
status: '成功',
},
{
operator: 'admin',
mechanism: '-',
infoTime: '2024-11-29 13:41:11',
operationType: '推送',
target: 'https://127.0.0.2',
status: '成功',
},
{
operator: 'admin',
mechanism: '-',
infoTime: '2024-11-29 13:41:11',
operationType: '共享到智能平台',
target: 'https://127.0.0.3',
status: '成功',
},
{
operator: 'admin',
mechanism: '-',
infoTime: '2024-11-29 13:41:11',
operationType: 'API调用',
target: 'https://127.0.0.4',
status: '成功',
},
// {
// operator: 'admin',
// mechanism: '-',
// infoTime: '2024-11-29 13:41:11',
// operationType: '推送',
// target: 'https://127.0.0.2',
// status: '成功',
// },
// {
// operator: 'admin',
// mechanism: '-',
// infoTime: '2024-11-29 13:41:11',
// operationType: '共享到智能平台',
// target: 'https://127.0.0.3',
// status: '成功',
// },
// {
// operator: 'admin',
// mechanism: '-',
// infoTime: '2024-11-29 13:41:11',
// operationType: 'API调用',
// target: 'https://127.0.0.4',
// status: '成功',
// },
];
export const pushTypeData: any[] = [
{
......
......@@ -67,7 +67,7 @@
/>
<div class="mianBodyEditContainer">
<Tabs style="padding-left: 20px" v-model:activeKey="page" size="large">
<a-tab-pane key="1" tab="采样数据">
<!-- <a-tab-pane key="1" tab="采样数据">
<div v-if="page === '1'">
<BasicTable @register="registerColumnInformationDataTable">
<template #fileName="{ text }">
......@@ -100,9 +100,9 @@
</template>
</BasicTable>
</div>
</a-tab-pane>
<a-tab-pane key="3" tab="我的权限">
<div v-if="page === '3'">
</a-tab-pane> -->
<a-tab-pane key="1" tab="我的权限">
<div v-if="page === '1'">
<BasicTable @register="registerAssociationRulesInfoTable">
<template #toolbar>
<a-button type="primary" @click="handleCancelStatus">批量取消权限 </a-button>
......
<template>
<BasicModal width="50%" v-bind="$attrs" @register="registerModal" :title="getTitle">
<BasicTable @register="registerTable">
<template #bodyCell="{ column, record }">
<template v-if="column.key === 'action'">
<TableAction
:actions="[
{
label: '对比',
onClick: contrastButton.bind(null, record),
},
{
label: '撤回',
popConfirm: {
title: '是否撤回该版本?',
placement: 'left',
confirm: withdrawButton.bind(null, record),
},
},
{
// icon: 'clarity:note-edit-line',
label: '查看',
onClick: detailButton.bind(null, record),
},
]"
/>
</template>
</template>
</BasicTable>
<VersionPublishModal @register="registerVersionPublishModal" />
</BasicModal>
</template>
<script lang="ts" setup>
import { BasicModal, useModalInner, useModal } from '@/components/Modal';
import { BasicForm, useForm } from '@/components/Form';
import { reactive, unref, onDeactivated, onMounted, ref, computed } from 'vue';
import { BasicTable, useTable, TableAction } from '@/components/Table';
import { useMessage } from '@/hooks/web/useMessage';
import { searchFormSchema, versionColumns, versionData } from './basicStandardsData';
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';
import { router } from '@/router';
import VersionPublishModal from './versionPublishModal.vue';
import { message } from 'ant-design-vue';
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 getTitle = computed(() => '版本管理');
const tableData = ref([]);
const isAdd = ref(true);
const [registerVersionPublishModal, { openModal: openVersionPublishModal }] = useModal();
const [
registerTable,
{ reload, updateTableDataRecord, getSearchInfo, getForm, getRowSelection },
] = useTable({
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: versionColumns,
rowSelection: true,
formConfig: {
labelWidth: 100,
schemas: searchFormSchema,
autoSubmitOnEnter: true,
},
useSearchForm: true,
showTableSetting: false,
showIndexColumn: false,
bordered: true,
actionColumn: {
width: 150,
title: '操作',
dataIndex: 'action',
},
handleSearchInfoFn(info) {
return info;
},
});
//初始化弹框
const [registerModal, { setModalProps, closeModal }] = useModalInner(async (data) => {
setModalProps({ confirmLoading: false, showOkBtn: false, showCancelBtn: false });
isAdd.value = !!data?.isAdd;
});
/** 对比成功*/
function contrastButton() {
handleVersionPublish();
closeModal();
// router.push({
// path: '/dataStandards/namingDictionary/domain/versionContrast',
// query: {
// businessId: route.query.businessId,
// },
// });
}
/** 撤回成功*/
function withdrawButton() {
createMessage.success('撤回成功!');
}
/** 查看*/
function detailButton(record) {
emit('success', { values: { ...record } });
message.success('查看' + record.versionName + '版本!');
closeModal();
}
function handleVersionPublish() {
openVersionPublishModal(true, {
title: '版本对比:文件1',
isPublish: false,
});
}
onMounted(() => {
tableData.value = versionData;
});
</script>
......@@ -539,7 +539,7 @@ export const versionPublishSchema: FormSchema[] = [
field: 'title',
label: '申请标题',
component: 'Input',
defaultValue: '申请发布V10.0版本:数据集1',
defaultValue: '申请发布V10.0版本:文件1',
required: true,
},
{
......
......@@ -22,7 +22,7 @@
</div>
<div class="buttonGroup">
<a-button type="primary" @click="handleVersionPublish">版本发布</a-button>
<a-button type="primary" @click="handleVersionManagement">版本管理</a-button>
<a-button type="primary" @click="handleCreate">版本管理</a-button>
<a-button type="primary" @click="handleDelete">删除</a-button>
<a-button type="primary" @click="handleUp">上架</a-button>
<a-button type="primary" @click="handEdit">编辑</a-button>
......@@ -88,7 +88,7 @@
</template>
<template v-if="currentKey == '4'">
<div class="flex">
<div style="width: 30%; border: rgba(26, 26, 26, 0.15) 1px solid">
<div style="width: 30%; border: rgb(26 26 26 / 15%) 1px solid">
<BasicTable @register="registerGlobalDataTable">
<template #bodyCell="{ column, record }">
<template v-if="column.key === 'status'">
......@@ -102,7 +102,7 @@
</template>
</BasicTable>
</div>
<div style="width: 70%; border: rgba(26, 26, 26, 0.15) 1px solid">
<div style="width: 70%; border: rgb(26 26 26 / 15%) 1px solid">
<div>
<Icon
icon="material-symbols-light:dataset-linked-outline-sharp"
......@@ -140,6 +140,7 @@
</div>
<VersionPublishModal @register="registerVersionPublishModal" />
<EditFileModal @register="registerEditFile" />
<AddUserModal @register="registerAddUserModal" @success="handleAddSuccess" />
</PageWrapper>
</template>
......@@ -177,6 +178,7 @@
import { useModal } from '@/components/Modal';
import VersionPublishModal from './versionPublishModal.vue';
import EditFileModal from '@/views/mallResourceDevelopment/file/fileByCreate/editFileModal.vue';
import AddUserModal from './AddUserModal.vue';
defineOptions({ name: 'AccountDetail' });
......@@ -187,7 +189,7 @@
const [registerVersionPublishModal, { openModal: openVersionPublishModal }] = useModal();
const [registerEditFile, { openModal: openEditFileModal }] = useModal();
const [registerAddUserModal, { openModal: addUserModal }] = useModal();
const [registerTable] = useTable({
api: async () => {
const response = {
......@@ -278,7 +280,12 @@
function goBack() {
router.back();
}
/** 新增用户按钮*/
function handleCreate() {
addUserModal(true, {
isAdd: true,
});
}
onMounted(() => {});
</script>
......@@ -286,25 +293,30 @@
.content-padding {
background-color: white;
}
.modal_top {
padding: 0 0 20px 0;
display: flex;
align-items: center;
padding: 0 0 20px;
.title {
font-size: 16px;
font-weight: 500;
}
.path {
font-size: 14px;
color: gray;
font-size: 14px;
}
.buttonGroup {
margin-left: auto;
display: flex;
gap: 5px;
align-items: center;
margin-left: auto;
gap: 5px;
}
}
.selected-row {
background-color: #5cb3ff; /* 可以根据需要调整颜色 */
}
......
......@@ -76,6 +76,7 @@
placement: 'left',
confirm: handleUpload.bind(null),
},
ifShow: record.uploadStatus === '1',
},
{
label: '删除',
......
......@@ -7,11 +7,11 @@
@ok="handleSubmit"
>
<div>
<BasicForm @register="registerForm" />
<BasicForm @register="registerForm" v-if="isPublish" />
<Description size="middle" title="版本对比" :bordered="false" />
</div>
<div class="flex">
<div style="width: 50%; border: rgba(26, 26, 26, 0.12) 1px solid">
<div style="width: 50%; border: rgb(26 26 26 / 12%) 1px solid">
<div style="padding-left: 20px; font-size: 16px; font-weight: 500">V9.0(当前)</div>
<Description
size="middle"
......@@ -54,7 +54,7 @@
:schema="permissionSchema"
/>
</div>
<div style="width: 50%; border: rgba(26, 26, 26, 0.12) 1px solid">
<div style="width: 50%; border: rgb(26 26 26 / 12%) 1px solid">
<div style="padding-left: 20px; font-size: 16px; font-weight: 500">发布版本</div>
<Description
size="middle"
......@@ -111,7 +111,7 @@
permissionSchema,
sourceTableSchema,
versionPublishSchema,
} from '@/views/mallResourceDevelopment/dataSet/datasetByCreate/data';
} from '@/views/mallResourceDevelopment/file/fileByCreate/data';
import Description from '@/components/Description/src/Description.vue';
import {
basicNewData,
......@@ -139,6 +139,11 @@
await resetFields();
setModalProps({ confirmLoading: false });
title.value = data.title;
if (data.isPublish === false) {
isPublish.value = false;
} else {
isPublish.value = true;
}
});
async function handleSubmit() {
......
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