[tag] 实现工单列表

This commit is contained in:
LYC 2025-04-25 21:09:02 +08:00
parent 647cc31a8e
commit 0c16cef12c
3 changed files with 139 additions and 14 deletions

View File

@ -56,7 +56,8 @@ export const generatedRoutes: GeneratedRoute[] = [
component: 'layout.base$view.department',
meta: {
title: 'department',
i18nKey: 'route.department'
i18nKey: 'route.department',
order: 22
}
},
{
@ -65,7 +66,8 @@ export const generatedRoutes: GeneratedRoute[] = [
component: 'layout.base$view.employee',
meta: {
title: 'employee',
i18nKey: 'route.employee'
i18nKey: 'route.employee',
order: 23
}
},
{
@ -74,7 +76,8 @@ export const generatedRoutes: GeneratedRoute[] = [
component: 'layout.base$view.facility',
meta: {
title: 'facility',
i18nKey: 'route.facility'
i18nKey: 'route.facility',
order: 24
}
},
{
@ -363,7 +366,8 @@ export const generatedRoutes: GeneratedRoute[] = [
component: 'layout.base$view.orders',
meta: {
title: 'orders',
i18nKey: 'route.orders'
i18nKey: 'route.orders',
order: 20
}
},
{
@ -372,7 +376,8 @@ export const generatedRoutes: GeneratedRoute[] = [
component: 'layout.base$view.plan',
meta: {
title: 'plan',
i18nKey: 'route.plan'
i18nKey: 'route.plan',
order: 21
}
},
{

View File

@ -65,13 +65,11 @@ export const useAuthStore = defineStore(SetupStoreId.Auth, () => {
const { response, error } = await fetchLogin(userName, password);
console.log(response)
let accessToken = response.data.token;
let loginToken: Api.Auth.LoginToken = { token: accessToken, refreshToken: "" };
let userId = response.data.employeeId
if (1) {
if (error?.status == 200) {
const pass = await loginByToken(loginToken,userId);
if (pass) {
@ -109,8 +107,9 @@ export const useAuthStore = defineStore(SetupStoreId.Auth, () => {
async function getUserInfo() {
const { response, error } = await fetchGetUserInfo();
let data:any = response.data.data
console.log(data.name)
console.log(error?.status == 200)
//console.log(data.name)
//console.log(error?.status == 200)
if (error?.status == 200) {
let info: Api.Auth.UserInfo = {
@ -121,6 +120,7 @@ export const useAuthStore = defineStore(SetupStoreId.Auth, () => {
};
Object.assign(userInfo, info);
console.log("getUserInfo")
return true;
}

View File

@ -1,7 +1,127 @@
<script setup lang="ts"></script>
<template>
<div>orders</div>
<a-table
:columns="columns"
:data-source="tableData"
:pagination="pagination"
@change="handleTableChange"
>
<!-- 如果需要自定义列可以在这里添加 slot -->
</a-table>
</template>
<style scoped></style>
<script setup>
import { ref, onMounted } from 'vue';
import { Table, message } from 'ant-design-vue'; // Table message
import axios from 'axios'; // HTTP
import { localStg } from '@/utils/storage';
//
const columns = [
{
title: 'ID',
dataIndex: 'id',
key: 'id',
},
{
title: 'Facility Code',
dataIndex: 'facilityCode',
key: 'facilityCode',
},
{
title: 'Facility Type',
dataIndex: 'facilityType',
key: 'facilityType',
},
{
title: 'Creator Name',
dataIndex: 'creatorName',
key: 'creatorName',
},
{
title: 'Assignee Name',
dataIndex: 'assigneeName',
key: 'assigneeName',
},
{
title: 'Description',
dataIndex: 'description',
key: 'description',
},
{
title: 'Status',
dataIndex: 'status',
key: 'status',
},
{
title: 'Create Time',
dataIndex: 'createTime',
key: 'createTime',
},
{
title: 'Complete Time',
dataIndex: 'completeTime',
key: 'completeTime',
},
{
title: 'Cost',
dataIndex: 'cost',
key: 'cost',
},
];
//
const tableData = ref([]); // API data.content
const pagination = ref({
current: 1, // 1
pageSize: 10, //
total: 0, //
showSizeChanger: true, //
showQuickJumper: true, //
});
// API
const fetchData = async (page = 1, size = 10) => {
try {
const token = localStg.get('token'); // token
const response = await axios.get('http://localhost:8080/api/work-orders/my-orders', {
params: {
page: page - 1, // pageNumber 0 1 1
size: size,
},
headers: {
Authorization: `Bearer ${token}`, // Authorization
},
});
if (response.data.success) {
tableData.value = response.data.data.content; //
pagination.value.total = response.data.data.totalElements; //
pagination.value.current = response.data.data.number + 1; //
pagination.value.pageSize = response.data.data.size; //
} else {
message.error(response.data.errorMsg || '请求失败');
}
} catch (error) {
message.error('网络错误或服务器异常');
console.error(error);
}
};
//
const handleTableChange = (pagination) => {
fetchData(pagination.current, pagination.pageSize);
};
//
onMounted(() => {
fetchData(); //
});
</script>
<style scoped>
/* 可选:添加一些样式 */
.a-table {
margin-top: 20px;
}
</style>