修改分页请求参数和响应
This commit is contained in:
@ -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();
|
||||
};
|
||||
|
||||
|
@ -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();
|
||||
};
|
||||
|
||||
|
@ -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();
|
||||
};
|
||||
|
||||
|
@ -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 = []; // 请求失败时清空列表
|
||||
|
@ -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,
|
||||
|
@ -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;
|
||||
};
|
||||
|
||||
|
@ -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();
|
||||
};
|
||||
|
||||
|
Reference in New Issue
Block a user