我管理的,我负责的假页面

This commit is contained in:
GUjiYN 2024-04-09 19:23:49 +08:00
parent d51b80ecfb
commit 67b6b6f8c9
9 changed files with 206 additions and 20 deletions

View File

@ -2,4 +2,4 @@
NODE_ENV = 'production'
# 打包模式连生产服
VUE_APP_BASE_API = '/api-prod'
VUE_APP_BASE_API = '/api-prod'

View File

@ -3,4 +3,4 @@ NODE_ENV = 'development'
# 开发模式连生产服
VUE_APP_BASE_API = '/api-prod'
VUE_APP_COOKIE = ''
VUE_APP_COOKIE = ''

4
auto-imports.d.ts vendored
View File

@ -1,5 +1,7 @@
// Generated by 'unplugin-auto-import'
export {}
declare global {
const ElMessage: typeof import('element-plus/es')['ElMessage']
const ElMessageBox: typeof import('element-plus/es')['ElMessageBox']
const ElNotification: typeof import('element-plus/es')['ElNotification']
}

5
components.d.ts vendored
View File

@ -19,10 +19,9 @@ declare module '@vue/runtime-core' {
ElBreadcrumb: typeof import('element-plus/es')['ElBreadcrumb']
ElBreadcrumbItem: typeof import('element-plus/es')['ElBreadcrumbItem']
ElButton: typeof import('element-plus/es')['ElButton']
ElButtonGroup: typeof import('element-plus/es')['ElButtonGroup']
ElCard: typeof import('element-plus/es')['ElCard']
ElCheckbox: typeof import('element-plus/es')['ElCheckbox']
ElCheckboxGroup: typeof import('element-plus/es')['ElCheckboxGroup']
ElCol: typeof import('element-plus/es')['ElCol']
ElConfigProvider: typeof import('element-plus/es')['ElConfigProvider']
ElDatePicker: typeof import('element-plus/es')['ElDatePicker']
ElDialog: typeof import('element-plus/es')['ElDialog']
@ -54,8 +53,6 @@ declare module '@vue/runtime-core' {
ElTabs: typeof import('element-plus/es')['ElTabs']
ElTag: typeof import('element-plus/es')['ElTag']
ElTooltip: typeof import('element-plus/es')['ElTooltip']
ElTree: typeof import('element-plus/es')['ElTree']
ElUpload: typeof import('element-plus/es')['ElUpload']
ErrorLog: typeof import('./src/components/ErrorLog/index.vue')['default']
GithubCorner: typeof import('./src/components/GithubCorner/index.vue')['default']
Hamburger: typeof import('./src/components/Hamburger/index.vue')['default']

View File

@ -1 +1 @@
<svg width="128" height="128" xmlns="http://www.w3.org/2000/svg"><path d="M0 0h54.857v54.857H0V0zm0 73.143h54.857V128H0V73.143zm73.143 0H128V128H73.143V73.143zm27.428-18.286C115.72 54.857 128 42.577 128 27.43 128 12.28 115.72 0 100.571 0 85.423 0 73.143 12.28 73.143 27.429c0 15.148 12.28 27.428 27.428 27.428z"/></svg>
<svg width="128" height="128" xmlns="http://www.w3.org/2000/svg"><path d="M0 0h54.857v54.857H0V0zm0 73.143h54.857V128H0V73.143zm73.143 0H128V128H73.143V73.143zm27.428-18.286C115.72 54.857 128 42.577 128 27.43 128 12.28 115.72 0 100.571 0 85.423 0 73.143 12.28 73.143 27.429c0 15.148 12.28 27.428 27.428 27.428z"/></svg>

Before

Width:  |  Height:  |  Size: 319 B

After

Width:  |  Height:  |  Size: 320 B

View File

@ -4,7 +4,7 @@ import { getToken } from '@/utils/auth';
// create an axios instance
const service = axios.create({
baseURL: process.env.VUE_APP_BASE_API = 'https://nbxt.oa.x-lf.cn', // url = base url + request url
baseURL: process.env.VUE_APP_BASE_API, // url = base url + request url
// withCredentials: true, // send cookies when cross-domain requests
timeout: 5000 // request timeout
});

View File

@ -87,7 +87,7 @@ export default defineComponent({
return {
loginForm: {
username: 'admin',
password: '111111'
password: '123456'
},
loginRules: {
username: [{ required: true, trigger: 'blur', validator: validateUsername }],

View File

@ -1,3 +1,95 @@
<template>
<el-card style="max-width: 100vw;margin: 1.5vw;">
<template #header>
<div class="card-header">
<span>项目1</span>
</div>
</template>
<div style="display: flex; gap: 100px">
<el-input
v-model="input1"
style="width: 550px"
placeholder="请输入"
>
<template #prepend>名称</template>
</el-input>
<el-input
v-model="input2"
style="width: 550px"
placeholder="请输入"
>
<template #prepend>状态</template>
</el-input>
<div>
<el-button-group>
<el-button type="primary">查询</el-button>
<el-button>重置</el-button>
</el-button-group>
</div>
</div>
<template #footer>Footer content</template>
</el-card>
<el-card style="max-width: 100vw;margin: 1.5vw;">
<div>
<el-table :data="tableData" ref="multipleTableRef" style="width: 100%" @selection-change="handleSelectionChange">
<el-table-column type="selection" width="55" />
<el-table-column prop="date" label="序号"/>
<el-table-column prop="name" label="子系统名称"/>
<el-table-column prop="address" label="工作量" />
<el-table-column prop="address" label="周期" />
<el-table-column prop="address" label="负责人" />
<el-table-column prop="address" label="状态" />
<el-table-column prop="address" label="子系统简介" />
<el-table-column prop="address" label="截止时间" />
<el-table-column prop="address" label="操作" />
</el-table>
</div>
<div style="display: flex; justify-content: center;margin-top: 2vh">
<el-pagination background layout="prev, pager, next" :total="1000" />
</div>
</el-card>
</template>
<script lang="ts" setup>
import { ref } from 'vue';
import { ElTable } from 'element-plus';
const input1 = ref('');
const input2 = ref('');
interface User {
date: string
name: string
address: string
}
const multipleTableRef = ref<InstanceType<typeof ElTable>>();
const multipleSelection = ref<User[]>([]);
const handleSelectionChange = (val: User[]) => {
multipleSelection.value = val;
};
const tableData = [
{
date: '2016-05-03',
name: 'Tom',
address: 'No. 189, Grove St, Los Angeles',
},
{
date: '2016-05-02',
name: 'Tom',
address: 'No. 189, Grove St, Los Angeles',
},
{
date: '2016-05-04',
name: 'Tom',
address: 'No. 189, Grove St, Los Angeles',
},
{
date: '2016-05-01',
name: 'Tom',
address: 'No. 189, Grove St, Los Angeles',
},
];
</script>
<!--
<template>
<div class="app-container">
<div class="filter-container">
@ -35,51 +127,51 @@
style="width: 100%;"
@sort-change="sortChange"
>
<el-table-column label="ID" prop="id" sortable="custom" align="center" width="80" :class-name="getSortClass('id')">
<el-table-column label="序号" prop="id" sortable="custom" align="center" width="80" :class-name="getSortClass('id')">
<template v-slot="{row}">
<span>{{ row.id }}</span>
</template>
</el-table-column>
<el-table-column label="Date" width="150px" align="center">
<el-table-column label="子系统名称" width="150px" align="center">
<template v-slot="{row}">
<span>{{ parseTime(row.timestamp, '{y}-{m}-{d} {h}:{i}') }}</span>
</template>
</el-table-column>
<el-table-column label="Title" min-width="150px">
<el-table-column label="工作量" min-width="150px">
<template v-slot="{row}">
<span class="link-type" @click="handleUpdate(row)">{{ row.title }}</span>
<el-tag>{{ typeFilter(row.type) }}</el-tag>
</template>
</el-table-column>
<el-table-column label="Author" width="110px" align="center">
<el-table-column label="周期" width="110px" align="center">
<template v-slot="{row}">
<span>{{ row.author }}</span>
</template>
</el-table-column>
<el-table-column v-if="showReviewer" label="Reviewer" width="110px" align="center">
<el-table-column v-if="showReviewer" label="负责人" width="110px" align="center">
<template v-slot="{row}">
<span style="color:red;">{{ row.reviewer }}</span>
</template>
</el-table-column>
<el-table-column label="Imp" width="80px">
<el-table-column label="状态" width="80px">
<template v-slot="{row}">
<svg-icon v-for="n in row.importance" :key="n" icon-class="star" class="meta-item__icon" />
</template>
</el-table-column>
<el-table-column label="Readings" align="center" width="95">
<el-table-column label="子系统简介" align="center" width="95">
<template v-slot="{row}">
<span v-if="row.pageviews" class="link-type" @click="handleFetchPv(row.pageviews)">{{ row.pageviews }}</span>
<span v-else>0</span>
</template>
</el-table-column>
<el-table-column label="Status" class-name="status-col" width="100">
<el-table-column label="截止时间" class-name="status-col" width="100">
<template v-slot="{row}">
<el-tag :type="statusFilter(row.status)">
{{ row.status }}
</el-tag>
</template>
</el-table-column>
<el-table-column label="Actions" align="center" width="230" class-name="small-padding fixed-width">
<el-table-column label="操作" align="center" width="230" class-name="small-padding fixed-width">
<template v-slot="{row,$index}">
<el-button type="primary" size="small" @click="handleUpdate(row)">
Edit
@ -385,3 +477,4 @@ export default defineComponent({
}
});
</script>
-->

View File

@ -1,6 +1,99 @@
<template>
<el-card style="max-width: 100vw;margin: 1.5vw;">
<template #header>
<div class="card-header">
<span>我管理的项目</span>
</div>
</template>
<div style="display: flex; gap: 100px">
<el-input
v-model="input1"
style="width: 550px"
placeholder="请输入"
>
<template #prepend>名称</template>
</el-input>
<el-input
v-model="input2"
style="width: 550px"
placeholder="请输入"
>
<template #prepend>状态</template>
</el-input>
<div>
<el-button-group>
<el-button type="primary">查询</el-button>
<el-button>重置</el-button>
</el-button-group>
</div>
</div>
<template #footer>Footer content</template>
</el-card>
<el-card style="max-width: 100vw;margin: 1.5vw;">
<div>
<el-table :data="tableData" ref="multipleTableRef" style="width: 100%" @selection-change="handleSelectionChange">
<el-table-column type="selection" width="55" />
<el-table-column prop="date" label="序号"/>
<el-table-column prop="name" label="项目名称"/>
<el-table-column prop="address" label="工作量" />
<el-table-column prop="address" label="周期" />
<el-table-column prop="address" label="负责人" />
<el-table-column prop="address" label="状态" />
<el-table-column prop="address" label="标签" />
<el-table-column prop="address" label="文档(点击下载)" />
<el-table-column prop="address" label="截止时间" />
<el-table-column prop="address" label="操作" />
</el-table>
</div>
<div style="display: flex; justify-content: center;margin-top: 2vh">
<el-pagination background layout="prev, pager, next" :total="1000" />
</div>
</el-card>
</template>
<script lang="ts" setup>
import { ref } from 'vue';
import { ElTable } from 'element-plus';
const input1 = ref('');
const input2 = ref('');
interface User {
date: string
name: string
address: string
}
const multipleTableRef = ref<InstanceType<typeof ElTable>>();
const multipleSelection = ref<User[]>([]);
const handleSelectionChange = (val: User[]) => {
multipleSelection.value = val;
};
const tableData = [
{
date: '2016-05-03',
name: 'Tom',
address: 'No. 189, Grove St, Los Angeles',
},
{
date: '2016-05-02',
name: 'Tom',
address: 'No. 189, Grove St, Los Angeles',
},
{
date: '2016-05-04',
name: 'Tom',
address: 'No. 189, Grove St, Los Angeles',
},
{
date: '2016-05-01',
name: 'Tom',
address: 'No. 189, Grove St, Los Angeles',
},
];
</script>
<!--
<template>
<div class="app-container">
<!-- Note that row-key is necessary to get a correct row order. -->
&lt;!&ndash; Note that row-key is necessary to get a correct row order. &ndash;&gt;
<el-table ref="dragTable" v-loading="listLoading" :data="list" row-key="id" border fit highlight-current-row style="width: 100%">
<el-table-column align="center" label="ID" width="65">
<template v-slot="{row}">
@ -152,3 +245,4 @@ export default defineComponent({
margin-top: 15px;
}
</style>
-->