编写制度管理。

This commit is contained in:
2025-10-28 23:51:14 +08:00
parent a11c6ada3d
commit ef3b31c9e4
25 changed files with 148 additions and 15 deletions

View File

@@ -28,7 +28,7 @@
"typescript": "~5.9.3",
"vite": "^7.1.12",
"vue-eslint-parser": "^10.2.0",
"vue-tsc": "^3.1.1"
"vue-tsc": "^3.1.2"
}
},
"node_modules/@babel/helper-string-parser": {
@@ -1898,9 +1898,9 @@
"license": "MIT"
},
"node_modules/@vue/language-core": {
"version": "3.1.1",
"resolved": "https://registry.npmmirror.com/@vue/language-core/-/language-core-3.1.1.tgz",
"integrity": "sha512-qjMY3Q+hUCjdH+jLrQapqgpsJ0rd/2mAY02lZoHG3VFJZZZKLjAlV+Oo9QmWIT4jh8+Rx8RUGUi++d7T9Wb6Mw==",
"version": "3.1.2",
"resolved": "https://registry.npmmirror.com/@vue/language-core/-/language-core-3.1.2.tgz",
"integrity": "sha512-PyFDCqpdfYUT+oMLqcc61oHfJlC6yjhybaefwQjRdkchIihToOEpJ2Wu/Ebq2yrnJdd1EsaAvZaXVAqcxtnDxQ==",
"dev": true,
"license": "MIT",
"dependencies": {
@@ -2125,9 +2125,9 @@
}
},
"node_modules/alien-signals": {
"version": "3.0.0",
"resolved": "https://registry.npmmirror.com/alien-signals/-/alien-signals-3.0.0.tgz",
"integrity": "sha512-JHoRJf18Y6HN4/KZALr3iU+0vW9LKG+8FMThQlbn4+gv8utsLIkwpomjElGPccGeNwh0FI2HN6BLnyFLo6OyLQ==",
"version": "3.0.3",
"resolved": "https://registry.npmmirror.com/alien-signals/-/alien-signals-3.0.3.tgz",
"integrity": "sha512-2JXjom6R7ZwrISpUphLhf4htUq1aKRCennTJ6u9kFfr3sLmC9+I4CxxVi+McoFnIg+p1HnVrfLT/iCt4Dlz//Q==",
"dev": true,
"license": "MIT"
},
@@ -3919,14 +3919,14 @@
}
},
"node_modules/vue-tsc": {
"version": "3.1.1",
"resolved": "https://registry.npmmirror.com/vue-tsc/-/vue-tsc-3.1.1.tgz",
"integrity": "sha512-fyixKxFniOVgn+L/4+g8zCG6dflLLt01Agz9jl3TO45Bgk87NZJRmJVPsiK+ouq3LB91jJCbOV+pDkzYTxbI7A==",
"version": "3.1.2",
"resolved": "https://registry.npmmirror.com/vue-tsc/-/vue-tsc-3.1.2.tgz",
"integrity": "sha512-3fd4DY0rFczs5f+VB3OhcLU83V6+3Puj2yLBe0Ak65k7ERk+STVNKaOAi0EBo6Lc15UiJB6LzU6Mxy4+h/pKew==",
"dev": true,
"license": "MIT",
"dependencies": {
"@volar/typescript": "2.4.23",
"@vue/language-core": "3.1.1"
"@vue/language-core": "3.1.2"
},
"bin": {
"vue-tsc": "bin/vue-tsc.js"

View File

@@ -29,6 +29,6 @@
"typescript": "~5.9.3",
"vite": "^7.1.12",
"vue-eslint-parser": "^10.2.0",
"vue-tsc": "^3.1.1"
"vue-tsc": "^3.1.2"
}
}

View File

@@ -2,7 +2,7 @@
* @Author: Kane Wang <wangkane@qq.com>
* @Date: 2025-10-13 15:31:41
* @LastEditors: Kane Wang
* @LastModified: 2025-10-24 10:03:13
* @LastModified: 2025-10-28 11:28:01
* @FilePath: src/router/index.ts
* @Description:
*
@@ -71,6 +71,16 @@ const routes = [
},
component: ()=> import( "@/views/console/data/RegulatoryManagement.vue" ),
},
{
path: "/upload-regulatory",
name: "UploadRegulatory",
meta: {
title: "上传制度",
icon: "OfficeBuilding",
},
hidden: true,
component: () => import( "@/views/console/data/UploadRegulatory.vue" ),
},
],
},
];

View File

@@ -0,0 +1,18 @@
/**
* @Author: Kane Wang <wangkane@qq.com>
* @Date: 2025-10-28 10:13:04
* @LastEditors: Kane Wang
* @LastModified: 2025-10-28 10:13:04
* @FilePath: src/types/regulatory.ts
* @Description: 和制度相关的类型定义
*
* Copyright (c) 2025 by Kane All rights reserved
*/
interface RegulatoryData {
department_name: string;
release_year: string;
regulatory_name: string;
}
export { type RegulatoryData };

View File

@@ -22,16 +22,86 @@ Copyright © CPIC All rights reserved
</el-button>
</el-col>
</el-row>
<el-table
width="100%" stripe
:header-cell-style="headerCellStyle"
border
:data="ui.regulatoryData"
>
<el-table-column label="部门" align="center" width="200px">
<template #default="regulatory">
<span>{{ regulatory.row.department_name }}</span>
</template>
</el-table-column>
<el-table-column width="150px" label="发布、修订年份" align="center">
<template #default="regulatory">
<span>{{ regulatory.row.release_year }}</span>
</template>
</el-table-column>
<el-table-column label="制度名称" align="center" :cell-style="cellStyle">
<template #default="regulatory">
<span>{{ regulatory.row.regulatory_name }}</span>
</template>
</el-table-column>
<el-table-column label="操作" align="center" width="200px">
<el-button
type="primary"
icon="search"
>
查看
</el-button>
<el-button type="warning" icon="document">
编辑
</el-button>
</el-table-column>
</el-table>
</div>
</template>
<script lang="ts">
import { reactive } from "vue";
import { type RegulatoryData } from "@/types/regulatory/regulatory.ts";
interface UI
{
showUI: boolean,
showUploadDialog: boolean,
tablePageSize: number,
tableCurrentPageIndex: number,
regulatoryData: RegulatoryData[],
}
export default {
name: "RegulatoryManagement",
setup()
{
const ui = {};
const headerCellStyle = reactive(
{
textAlign: "center",
}
);
const cellStyle = reactive({
textAlign: "center",
});
const ui:UI = reactive({
showUI: true,
showUploadDialog: false,
tablePageSize: 10,
tableCurrentPageIndex: 1,
regulatoryData: [
{
department_name: "信息技术部",
release_year: "2019",
regulatory_name: "关于印发修订后的《太平洋产险厦门分公司信息系统账号权限管理实施细则》的通知",
},
{
department_name: "信息技术部",
release_year: "2019",
regulatory_name: "关于印发修订后的《太平洋产险厦门分公司个人信息保护管理实施细则》的通知",
},
],
});
return { ui, };
return { ui, headerCellStyle, cellStyle, };
},
};
</script>

View File

@@ -0,0 +1,35 @@
<!--
author: Kane Wang <wangkane@qq.com>
date: 2025-10-28 11:18:51
component: UploadRegulatory
Copyright © CPIC All rights reserved
-->
<template>
<div class="wrapper">
上传文件
</div>
</template>
<script lang="ts">
import {reactive, ref } from "vue";
export default {
name:"UploadRegulatory",
setup()
{
const ui = reactive({
showUI: true,
});
return {ui,};
},
};
</script>
<style lang="scss">
.wrapper {
margin: 10px 10px 10px 10px;
>*+* {
margin-top: 10px;
}
}
</style>