修改分页请求参数和响应

This commit is contained in:
lcj
2025-03-18 09:59:59 +08:00
parent abed0527cd
commit 52c8ab0f20
36 changed files with 127 additions and 235 deletions

View File

@ -111,7 +111,7 @@
</el-table-column>
</el-table>
<pagination v-show="total > 0" :total="total" v-model:page="queryParams.current" v-model:limit="queryParams.pageSize" @pagination="getList" />
<pagination v-show="total > 0" :total="total" v-model:page="queryParams.pageNum" v-model:limit="queryParams.pageSize" @pagination="getList" />
</el-card>
<!-- 添加或修改施工人员对话框 -->
<el-dialog :title="dialog.title" v-model="dialog.visible" width="500px" append-to-body>
@ -276,10 +276,8 @@ const initFormData: ConstructionUserForm = {
const data = reactive<PageData<ConstructionUserForm, ConstructionUserQuery>>({
form: { ...initFormData },
queryParams: {
current: 1,
pageNum: 1,
pageSize: 10,
sortField: 'createTime',
sortOrder: 'descend',
openid: undefined,
nickName: undefined,
userName: undefined,
@ -319,8 +317,8 @@ const { queryParams, form, rules } = toRefs(data);
const getList = async () => {
loading.value = true;
const res = await listConstructionUser(queryParams.value);
constructionUserList.value = res.data.records;
total.value = res.data.total;
constructionUserList.value = res.rows;
total.value = res.total;
loading.value = false;
};
@ -330,12 +328,10 @@ const contractorOpt = ref();
const getContractorList = async () => {
loading.value = true;
const res = await listContractor({
current: 1,
pageSize: 20,
sortField: 'createTime',
sortOrder: 'descend'
pageNum: 1,
pageSize: 20
});
contractorOpt.value = res.data.records.map((contractor: ContractorVO) => ({
contractorOpt.value = res.rows.map((contractor: ContractorVO) => ({
value: contractor.id,
label: contractor.name
}));
@ -348,13 +344,13 @@ const projectTeamOpt = ref([]);
const getProjectTeamList = async () => {
loading.value = true;
const res = await listProjectTeam({
current: 1,
pageNum: 1,
pageSize: 20,
sortField: 'createTime',
sortOrder: 'descend',
orderByColumn: 'createTime',
isAsc: 'desc',
projectId: currentProject.value.id
});
projectTeamOpt.value = res.data.records.map((projectTeam: ProjectTeamVO) => ({
projectTeamOpt.value = res.rows.map((projectTeam: ProjectTeamVO) => ({
value: projectTeam.id,
label: projectTeam.teamName
}));
@ -380,7 +376,7 @@ const reset = () => {
/** 搜索按钮操作 */
const handleQuery = () => {
queryParams.value.current = 1;
queryParams.value.pageNum = 1;
getList();
};

View File

@ -61,7 +61,7 @@
</el-table-column>
</el-table>
<pagination v-show="total > 0" :total="total" v-model:page="queryParams.current" v-model:limit="queryParams.pageSize" @pagination="getList" />
<pagination v-show="total > 0" :total="total" v-model:page="queryParams.pageNum" v-model:limit="queryParams.pageSize" @pagination="getList" />
</el-card>
<!-- 添加或修改分包单位对话框 -->
<el-dialog :title="dialog.title" v-model="dialog.visible" width="500px" append-to-body>
@ -135,10 +135,10 @@ const initFormData: ContractorForm = {
const data = reactive<PageData<ContractorForm, ContractorQuery>>({
form: { ...initFormData },
queryParams: {
current: 1,
pageNum: 1,
pageSize: 10,
sortField: 'createTime',
sortOrder: 'descend',
orderByColumn: 'createTime',
isAsc: 'desc',
name: undefined,
principal: undefined,
principalPhone: undefined,
@ -157,8 +157,8 @@ const { queryParams, form, rules } = toRefs(data);
const getList = async () => {
loading.value = true;
const res = await listContractor(queryParams.value);
contractorList.value = res.data.records;
total.value = res.data.total;
contractorList.value = res.rows;
total.value = res.total;
loading.value = false;
};
@ -176,7 +176,7 @@ const reset = () => {
/** 搜索按钮操作 */
const handleQuery = () => {
queryParams.value.current = 1;
queryParams.value.pageNum = 1;
getList();
};

View File

@ -78,7 +78,7 @@
</el-table-column>
</el-table>
<pagination v-show="total > 0" :total="total" v-model:page="queryParams.current" v-model:limit="queryParams.pageSize" @pagination="getList" />
<pagination v-show="total > 0" :total="total" v-model:page="queryParams.pageNum" v-model:limit="queryParams.pageSize" @pagination="getList" />
</el-card>
<!-- 添加或修改项目对话框 -->
<el-dialog :title="dialog.title" v-model="dialog.visible" width="500px" append-to-body>
@ -180,10 +180,8 @@ const initFormData: ProjectForm = {
const data = reactive<PageData<ProjectForm, ProjectQuery>>({
form: { ...initFormData },
queryParams: {
current: 1,
pageNum: 1,
pageSize: 10,
sortField: 'createTime',
sortOrder: 'descend',
projectName: undefined,
shortName: undefined,
pId: undefined,
@ -220,8 +218,8 @@ const { queryParams, form, rules } = toRefs(data);
const getList = async () => {
loading.value = true;
const res = await listProject(queryParams.value);
projectList.value = res.data.records;
total.value = res.data.total;
projectList.value = res.rows;
total.value = res.total;
loading.value = false;
};
/** 取消按钮 */
@ -237,7 +235,7 @@ const reset = () => {
/** 搜索按钮操作 */
const handleQuery = () => {
queryParams.value.current = 1;
queryParams.value.pageNum = 1;
getList();
};

View File

@ -22,13 +22,13 @@ const props = defineProps<{ userId: number | string }>();
const allProjects = ref<{ key: number | string; label: string }[]>([]);
// **已关联的项目 ID 列表**
const selectedProjects = ref<number[]>([]);
const selectedProjects = ref<(number | string)[]>([]);
// **获取所有项目列表**
const getProjectList = async () => {
try {
const res = await listProject();
allProjects.value = res.data.records.map((project) => ({
allProjects.value = res.rows.map((project) => ({
key: project.id,
label: project.projectName
}));
@ -36,15 +36,11 @@ const getProjectList = async () => {
console.error('获取项目列表失败:', error);
}
};
const getUserProjects = async () => {
const getUserProjects = async (s: string = '') => {
if (!props.userId) return;
try {
const res = await listUserProjects({ userId: props.userId });
// 修改这里,使用 res.records 而不是 res.rows
selectedProjects.value = Array.isArray(res.data.records) ? res.data.records.map((item: ProjectRelevancyVO) => item.projectId) : [];
console.log('已加载用户关联项目:', selectedProjects.value);
selectedProjects.value = Array.isArray(res.rows) ? res.rows.map((item: ProjectRelevancyVO) => item.projectId) : [];s
} catch (error) {
console.error('获取用户关联的项目失败:', error);
selectedProjects.value = []; // 请求失败时清空列表

View File

@ -10,9 +10,6 @@
<el-form-item label="项目ID" prop="projectId">
<el-input v-model="queryParams.projectId" placeholder="请输入项目ID" clearable @keyup.enter="handleQuery" />
</el-form-item>
<!-- <el-form-item label="删除时间" prop="deletedAt">-->
<!-- <el-date-picker clearable v-model="queryParams.deletedAt" type="date" value-format="YYYY-MM-DD" placeholder="请选择删除时间" />-->
<!-- </el-form-item>-->
<el-form-item>
<el-button type="primary" icon="Search" @click="handleQuery">搜索</el-button>
<el-button icon="Refresh" @click="resetQuery">重置</el-button>
@ -55,11 +52,6 @@
<el-table-column prop="project.principal" label="负责人" width="120" />
<el-table-column prop="project.principalPhone" label="联系电话" width="150" />
<el-table-column prop="project.onStreamTime" label="上线时间" width="150" />
<!-- <el-table-column label="删除时间" align="center" prop="deletedAt" width="180">
<template #default="scope">
<span>{{ parseTime(scope.row.deletedAt, '{y}-{m}-{d}') }}</span>
</template>
</el-table-column> -->
<el-table-column label="操作" align="center" class-name="small-padding fixed-width">
<template #default="scope">
<el-tooltip content="修改" placement="top">
@ -82,7 +74,7 @@
<shuttle-frame :userId="selectedUserId" @close="shuttleVisible = false" />
</el-dialog>
<pagination v-show="total > 0" :total="total" v-model:page="queryParams.current" v-model:limit="queryParams.pageSize" @pagination="getList" />
<pagination v-show="total > 0" :total="total" v-model:page="queryParams.pageNum" v-model:limit="queryParams.pageSize" @pagination="getList" />
</el-card>
<!-- 添加或修改系统用户与项目关联对话框 -->
@ -100,11 +92,6 @@
<el-option v-for="project in projectList" :key="project.id" :label="project.projectName" :value="project.id" />
</el-select>
</el-form-item>
<!-- <el-form-item label="删除时间" prop="deletedAt">
<el-date-picker clearable v-model="form.deletedAt" type="datetime" value-format="YYYY-MM-DD HH:mm:ss"
placeholder="请选择删除时间">
</el-date-picker>
</el-form-item> -->
</el-form>
<div v-if="selectedProject" style="padding: 0px 100px">
<p><strong>项目名称:</strong> {{ selectedProject.projectName }}</p>
@ -130,6 +117,7 @@ import { listUser } from '@/api/system/user';
import { ProjectRelevancyForm, ProjectRelevancyQuery, ProjectRelevancyVO } from '@/api/project/projectRelevancy/types';
import ShuttleFrame from './component/ShuttleFrame.vue';
import { UserVO } from '@/api/system/user/types';
import { ProjectVO } from '@/api/project/project/types';
const { proxy } = getCurrentInstance() as ComponentInternalInstance;
@ -159,10 +147,10 @@ const initFormData: ProjectRelevancyForm = {
const data = reactive<PageData<ProjectRelevancyForm, ProjectRelevancyQuery>>({
form: { ...initFormData },
queryParams: {
current: 1,
pageNum: 1,
pageSize: 10,
sortField: 'createTime',
sortOrder: 'descend',
orderByColumn: 'createTime',
isAsc: 'desc',
userId: undefined,
projectId: undefined,
deletedAt: undefined,
@ -181,8 +169,8 @@ const { queryParams, form, rules } = toRefs(data);
const getList = async () => {
loading.value = true;
const res = await listProjectRelevancy(queryParams.value);
projectRelevancyList.value = res.data.records;
total.value = res.data.total;
projectRelevancyList.value = res.rows;
total.value = res.total;
loading.value = false;
};
@ -200,7 +188,7 @@ const reset = () => {
/** 搜索按钮操作 */
const handleQuery = () => {
queryParams.value.current = 1;
queryParams.value.pageNum = 1;
getList();
};
@ -280,11 +268,11 @@ const selectedProject = ref<any | null>(null);
const getProjectList = async () => {
try {
const res = await listProject();
const projectListData = res.data.records;
const projectListData = res.rows;
projectList.value = projectListData;
// 将项目详情存入 Map
projectListData.forEach((project) => {
projectListData.forEach((project: ProjectVO) => {
projectItem.set(project.id, {
projectName: project.projectName,
type: project.type,

View File

@ -77,7 +77,7 @@
size="small"
v-show="total > 0"
:total="total"
v-model:page="queryParams.current"
v-model:page="queryParams.pageNum"
v-model:limit="queryParams.pageSize"
@pagination="getList"
/>
@ -92,7 +92,7 @@
size="small"
v-show="userNotInTeamTotal > 0"
:total="userNotInTeamTotal"
v-model:page="userQueryParams.current"
v-model:page="userQueryParams.pageNum"
v-model:limit="userQueryParams.pageSize"
@pagination="getUserListNotInTeam"
/>
@ -130,7 +130,7 @@ import {
import { computed, reactive, ref } from 'vue';
import { useUserStoreHook } from '@/store/modules/user';
import { listConstructionUser } from '@/api/project/constructionUser';
import { ConstructionUserVO } from '@/api/project/constructionUser/types';
import { ConstructionUserQuery, ConstructionUserVO } from '@/api/project/constructionUser/types';
// 获取用户 store
const userStore = useUserStoreHook();
@ -152,10 +152,10 @@ const initFormData: ProjectTeamMemberForm = {
const data = reactive<PageData<ProjectTeamMemberForm, ProjectTeamMemberQuery>>({
form: { ...initFormData },
queryParams: {
current: 1,
pageNum: 1,
pageSize: 10,
sortField: 'createTime',
sortOrder: 'descend',
orderByColumn: 'createTime',
isAsc: 'desc',
projectId: currentProject.value.id
},
rules: {
@ -181,8 +181,8 @@ const projectTeamMemberList = ref<ProjectTeamMemberVO[]>([]);
const getList = async () => {
loading.value = true;
const res = await listProjectTeamMember({ ...queryParams.value, teamId: props.projectTeamVo.id });
projectTeamMemberList.value = res.data.records;
total.value = res.data.total;
projectTeamMemberList.value = res.rows;
total.value = res.total;
loading.value = false;
};
@ -200,7 +200,7 @@ const reset = () => {
/** 搜索按钮操作 */
const handleQuery = () => {
queryParams.value.current = 1;
queryParams.value.pageNum = 1;
getList();
};
@ -227,22 +227,22 @@ const handleAdd = () => {
const userNotInTeamOpt = ref();
const userNotInTeamTotal = ref();
const userQueryParams = ref({
current: 1,
const userQueryParams = ref<ConstructionUserQuery>({
pageNum: 1,
pageSize: 10,
sortField: 'createTime',
sortOrder: 'descend'
orderByColumn: 'createTime',
isAsc: 'desc'
});
// 获取不在当前班组的成员
const getUserListNotInTeam = async () => {
loading.value = true;
const res = await listConstructionUser({ ...userQueryParams.value, notTeamId: props.projectTeamVo.id });
userNotInTeamOpt.value = res.data.records.map((user: ConstructionUserVO) => ({
userNotInTeamOpt.value = res.rows.map((user: ConstructionUserVO) => ({
value: user.id,
label: user.userName
}));
userNotInTeamTotal.value = res.data.total;
userNotInTeamTotal.value = res.total;
loading.value = false;
};

View File

@ -61,7 +61,7 @@
</template>
</el-table-column>
</el-table>
<pagination v-show="total > 0" :total="total" v-model:page="queryParams.current" v-model:limit="queryParams.pageSize" @pagination="getList" />
<pagination v-show="total > 0" :total="total" v-model:page="queryParams.pageNum" v-model:limit="queryParams.pageSize" @pagination="getList" />
</el-card>
<!-- 添加或修改项目班组对话框 -->
<el-dialog :title="dialog.title" v-model="dialog.visible" width="500px" append-to-body>
@ -111,7 +111,6 @@ const ids = ref<Array<string | number>>([]);
const single = ref(true);
const multiple = ref(true);
const total = ref(0);
const userListVisible = ref();
const currentRow = ref<ProjectTeamVO>({
id: undefined,
projectId: undefined,
@ -138,10 +137,10 @@ const initFormData: ProjectTeamForm = {
const data = reactive<PageData<ProjectTeamForm, ProjectTeamQuery>>({
form: { ...initFormData },
queryParams: {
current: 1,
pageNum: 1,
pageSize: 10,
sortField: 'createTime',
sortOrder: 'descend',
orderByColumn: 'createTime',
isAsc: 'desc',
projectId: currentProject.value.id,
teamName: undefined,
isClockIn: undefined,
@ -159,8 +158,8 @@ const { queryParams, form, rules } = toRefs(data);
const getList = async () => {
loading.value = true;
const res = await listProjectTeam(queryParams.value);
projectTeamList.value = res.data.records;
total.value = res.data.total;
projectTeamList.value = res.rows;
total.value = res.total;
loading.value = false;
};
@ -178,7 +177,7 @@ const reset = () => {
/** 搜索按钮操作 */
const handleQuery = () => {
queryParams.value.current = 1;
queryParams.value.pageNum = 1;
getList();
};