zhengyiming
2 天以前 ba48054b6f2680cfa1a0b3b912880925a8b5861b
fix: 验收管理
10个文件已修改
442 ■■■■ 已修改文件
apps/bMiniApp/src/pages/home/HomeQueryMenuView.vue 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
apps/bMiniApp/src/subpackages/mine/mineFavorites/mineFavorites.vue 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
apps/bMiniApp/src/subpackages/task/taskCheck/InnerPage.vue 46 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
apps/cMiniApp/src/subpackages/user/complaint/complaint.vue 8 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
packages/constants/apiEnum.ts 14 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
packages/hooks/task.ts 40 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
packages/services/apiV2/index.ts 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
packages/services/apiV2/task.ts 15 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
packages/services/apiV2/taskCheckReceive.ts 60 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
packages/services/apiV2/typings.d.ts 252 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
apps/bMiniApp/src/pages/home/HomeQueryMenuView.vue
@@ -72,6 +72,7 @@
const DefaultQuery = {
  ...query.value,
  age: [...query.value.age],
};
function handleReset() {
apps/bMiniApp/src/subpackages/mine/mineFavorites/mineFavorites.vue
@@ -1,5 +1,5 @@
<template>
  <PageLayoutWithBg class="mineFavorites-page-wrapper" :title="'我的收藏'">
  <PageLayoutWithBg class="mineFavorites-page-wrapper" :title="'我的收藏'" developing>
    <InnerPage></InnerPage>
  </PageLayoutWithBg>
</template>
apps/bMiniApp/src/subpackages/task/taskCheck/InnerPage.vue
@@ -1,7 +1,7 @@
<template>
  <Calendar v-model="queryMenuState.time"></Calendar>
  <Calendar v-model="queryState.date"></Calendar>
  <ProTabs
    v-model="queryMenuState.checkReceiveStatus"
    v-model="queryState.checkReceiveStatus"
    name="task-tab"
    :showPaneContent="false"
    class="task-tabs"
@@ -9,14 +9,17 @@
    title-gutter="8"
    title-scroll
  >
    <ProTabPane :title="`待提交`" :pane-key="EnumTaskCheckReceiveStatus.Wait"></ProTabPane>
    <ProTabPane :title="`待验收`" :pane-key="EnumTaskCheckReceiveStatus.Wait"></ProTabPane>
    <ProTabPane :title="`待提交`" :pane-key="EnumTaskCheckReceiveStatus.WaitSubmit"></ProTabPane>
    <ProTabPane
      :title="`待验收`"
      :pane-key="EnumTaskCheckReceiveStatus.WaitCheckReceive"
    ></ProTabPane>
    <ProTabPane :title="`已验收`" :pane-key="EnumTaskCheckReceiveStatus.Completed"></ProTabPane>
  </ProTabs>
  <InfiniteLoading
    scrollViewClassName="common-infinite-scroll-list"
    v-bind="infiniteLoadingProps"
    :key="queryMenuState.checkReceiveStatus"
    :key="queryState.checkReceiveStatus"
  >
    <template #renderItem="{ item }">
      <MyTaskCard
@@ -34,19 +37,40 @@
import { MyTaskCard, ProTabs, ProTabPane, Calendar } from '@12333/components';
import Taro from '@tarojs/taro';
import { EnumTaskCheckReceiveStatus } from '@12333/constants';
import { useTaskList } from '@12333/hooks';
import { useInfiniteLoading, useTaskList } from '@12333/hooks';
import * as taskCheckReceiveServices from '@12333/services/apiV2/taskCheckReceive';
import dayjs from 'dayjs';
defineOptions({
  name: 'InnerPage',
});
const { queryMenuState, infiniteLoadingProps } = useTaskList({
  defaultQueryMenuState: {
    checkReceiveStatus: EnumTaskCheckReceiveStatus.Wait,
  },
const queryState = reactive({
  date: dayjs().toDate(),
  checkReceiveStatus: EnumTaskCheckReceiveStatus.WaitSubmit,
});
function goSubmitTaskDetail(item: API.GetTaskInfosQueryResultItem) {
const { infiniteLoadingProps } = useInfiniteLoading(
  ({ pageParam }) => {
    let params: API.GetCheckReceiveTasksQuery = {
      pageModel: {
        rows: 20,
        page: pageParam,
      },
      date: dayjs(queryState.date).format('YYYY-MM-DD'),
      checkReceiveStatus: queryState.checkReceiveStatus,
    };
    return taskCheckReceiveServices.getCheckReceiveTasks(params, {
      showLoading: false,
    });
  },
  {
    queryKey: ['taskCheckReceiveServices/getCheckReceiveTasks', queryState],
  }
);
function goSubmitTaskDetail(item: API.GetCheckReceiveTasksQueryResultItem) {
  Taro.navigateTo({
    url: `${RouterPath.taskCheckDetail}?taskId=${item.id}`,
  });
apps/cMiniApp/src/subpackages/user/complaint/complaint.vue
@@ -1,5 +1,11 @@
<template>
  <PageLayout title="投诉举报" class="cooperation-page-wrapper" hasBorder :needAuth="false">
  <PageLayout
    title="投诉举报"
    class="cooperation-page-wrapper"
    hasBorder
    :needAuth="false"
    developing
  >
    <ContentScrollView :paddingH="false">
      <nut-form :model-value="form" ref="formRef" :rules="rules">
        <nut-form-item label="企业名称:" class="bole-form-item" prop="companyName" required>
packages/constants/apiEnum.ts
@@ -161,6 +161,8 @@
export enum EnumTaskCheckReceiveStatus {
  /**待提交 */
  WaitSubmit = 10,
  /**待验收 */
  WaitCheckReceive = 20,
  /**已验收 */
  Completed = 30,
}
@@ -225,6 +227,18 @@
  Refuse = 30,
}
/** 任务验收状态 */
export enum EnumTaskUserSubmitCheckReceiveStatus {
  /**待提交 */
  WaitSubmit = 10,
  /**待验收 */
  WaitCheckReceive = 20,
  /**验收通过 */
  Success = 30,
  /**验收未通过 */
  Fail = 40,
}
/** 用户性别 */
export enum EnumUserGender {
  /**男 */
packages/hooks/task.ts
@@ -13,6 +13,7 @@
import { MaybeRef, reactive, ref, unref } from 'vue';
import * as taskServices from '@12333/services/apiV2/task';
import dayjs from 'dayjs';
import * as taskCheckReceiveServices from '@12333/services/apiV2/taskCheckReceive';
export enum HomeOrderType {
  Recommend = 'Recommend',
@@ -35,6 +36,9 @@
  };
};
/**
 * @description 仅C端使用
 */
export function useTaskList(options: UseTaskListOptions = {}) {
  const { cityCode = '', enabled = true, defaultQueryMenuState = {} } = options;
@@ -90,12 +94,12 @@
          : '',
      };
      return taskServices.getTaskInfos(params, {
      return taskServices.getOpenTaskInfos(params, {
        showLoading: false,
      });
    },
    {
      queryKey: ['taskServices/getTaskInfos', queryState, queryMenuState, cityCode],
      queryKey: ['taskServices/getOpenTaskInfos', queryState, queryMenuState, cityCode],
      enabled: enabled,
    }
  );
@@ -109,3 +113,35 @@
    invalidateQueries,
  };
}
export function useCheckReceiveTasks() {
  const queryState = reactive({
    date: dayjs().toDate(),
    checkReceiveStatus: EnumTaskCheckReceiveStatus.WaitSubmit,
  });
  const { infiniteLoadingProps } = useInfiniteLoading(
    ({ pageParam }) => {
      let params: API.GetCheckReceiveTasksQuery = {
        pageModel: {
          rows: 20,
          page: pageParam,
        },
        date: dayjs(queryState.date).format('YYYY-MM-DD'),
        checkReceiveStatus: queryState.checkReceiveStatus,
      };
      return taskCheckReceiveServices.getCheckReceiveTasks(params, {
        showLoading: false,
      });
    },
    {
      queryKey: ['taskCheckReceiveServices/getCheckReceiveTasks', queryState],
    }
  );
  return {
    queryState,
    infiniteLoadingProps,
  };
}
packages/services/apiV2/index.ts
@@ -4,7 +4,6 @@
// API 唯一标识:
import * as enterpriseEmployee from './enterpriseEmployee';
import * as role from './role';
import * as taskCheckReceive from './taskCheckReceive';
import * as enterprise from './enterprise';
import * as task from './task';
import * as dictionary from './dictionary';
@@ -13,11 +12,11 @@
import * as auth from './auth';
import * as resource from './resource';
import * as taskUser from './taskUser';
import * as taskCheckReceive from './taskCheckReceive';
import * as menu from './menu';
export default {
  enterpriseEmployee,
  role,
  taskCheckReceive,
  enterprise,
  task,
  dictionary,
@@ -26,5 +25,6 @@
  auth,
  resource,
  taskUser,
  taskCheckReceive,
  menu,
};
packages/services/apiV2/task.ts
@@ -14,6 +14,21 @@
  });
}
/** 查询开放任务分页列表 POST /api/flexjob/task/getOpenTaskInfos */
export async function getOpenTaskInfos(
  body: API.GetOpenTaskInfosQuery,
  options?: API.RequestConfig
) {
  return request<API.GetTaskInfosQueryResult>('/api/flexjob/task/getOpenTaskInfos', {
    method: 'POST',
    headers: {
      'Content-Type': 'application/json-patch+json',
    },
    data: body,
    ...(options || {}),
  });
}
/** 我的报名分页列表 POST /api/flexjob/task/getPersonalApplyTaskInfos */
export async function getPersonalApplyTaskInfos(
  body: API.GetPersonalApplyTaskInfosQuery,
packages/services/apiV2/taskCheckReceive.ts
@@ -2,7 +2,22 @@
// @ts-ignore
import { request } from '@/utils/request';
/** 查询验收任务分页列表 POST /api/flexjob/taskCheckReceive/getCheckReceiveTask */
/** 任务验收 POST /api/flexjob/taskCheckReceive/checkReceiveTask */
export async function checkReceiveTask(
  body: API.CheckReceiveTaskCommand,
  options?: API.RequestConfig
) {
  return request<string>('/api/flexjob/taskCheckReceive/checkReceiveTask', {
    method: 'POST',
    headers: {
      'Content-Type': 'application/json-patch+json',
    },
    data: body,
    ...(options || {}),
  });
}
/** 查询验收任务详情 POST /api/flexjob/taskCheckReceive/getCheckReceiveTask */
export async function getCheckReceiveTask(
  body: API.GetCheckReceiveTaskQuery,
  options?: API.RequestConfig
@@ -20,19 +35,37 @@
  );
}
/** 查询验收分页列表 POST /api/flexjob/taskCheckReceive/getCheckReceiveTaskUser */
export async function getCheckReceiveTaskUser(
  body: API.GetCheckReceiveTaskUserQuery,
/** 查询验收任务分页列表 POST /api/flexjob/taskCheckReceive/getCheckReceiveTasks */
export async function getCheckReceiveTasks(
  body: API.GetCheckReceiveTasksQuery,
  options?: API.RequestConfig
) {
  return request<API.GetCheckReceiveTaskUserQueryResult>(
    '/api/flexjob/taskCheckReceive/getCheckReceiveTaskUser',
  return request<API.GetCheckReceiveTasksQueryResult>(
    '/api/flexjob/taskCheckReceive/getCheckReceiveTasks',
    {
      method: 'POST',
      headers: {
        'Content-Type': 'application/json-patch+json',
      },
      data: body,
      ...(options || {}),
    }
  );
}
/** 查询验收提交详情 GET /api/flexjob/taskCheckReceive/getCheckReceiveTaskUserSubmit */
export async function getCheckReceiveTaskUserSubmit(
  // 叠加生成的Param类型 (非body参数swagger默认没有生成对象)
  params: API.APIgetCheckReceiveTaskUserSubmitParams,
  options?: API.RequestConfig
) {
  return request<API.GetCheckReceiveTaskUserSubmitQueryResult>(
    '/api/flexjob/taskCheckReceive/getCheckReceiveTaskUserSubmit',
    {
      method: 'GET',
      params: {
        ...params,
      },
      ...(options || {}),
    }
  );
@@ -55,3 +88,18 @@
    }
  );
}
/** 任务提交验收 POST /api/flexjob/taskCheckReceive/submitCheckReceiveTask */
export async function submitCheckReceiveTask(
  body: API.SubmitCheckReceiveTaskCommand,
  options?: API.RequestConfig
) {
  return request<string>('/api/flexjob/taskCheckReceive/submitCheckReceiveTask', {
    method: 'POST',
    headers: {
      'Content-Type': 'application/json-patch+json',
    },
    data: body,
    ...(options || {}),
  });
}
packages/services/apiV2/typings.d.ts
@@ -13,6 +13,11 @@
    maxDeep?: number;
  }
  interface APIgetCheckReceiveTaskUserSubmitParams {
    /** 提交Id */
    id?: string;
  }
  interface APIgetCurrentLogierMenuParams {
    /** Id */
    id?: string;
@@ -180,6 +185,12 @@
    phoneNumber: string;
    /** 验证码 */
    verifyCode: string;
  }
  interface CheckReceiveTaskCommand {
    /** 提交Id */
    id?: string;
    checkReceiveStatus?: EnumTaskUserSubmitCheckReceiveStatus;
  }
  interface CollectTaskCommand {
@@ -355,6 +366,8 @@
  enum EnumTaskCheckReceiveStatus {
    /**待提交 */
    WaitSubmit = 10,
    /**待验收 */
    WaitCheckReceive = 20,
    /**已验收 */
    Completed = 30,
  }
@@ -410,6 +423,17 @@
    Pass = 20,
    /**已拒签 */
    Refuse = 30,
  }
  enum EnumTaskUserSubmitCheckReceiveStatus {
    /**待提交 */
    WaitSubmit = 10,
    /**待验收 */
    WaitCheckReceive = 20,
    /**验收通过 */
    Success = 30,
    /**验收未通过 */
    Fail = 40,
  }
  enum EnumUserGender {
@@ -517,14 +541,32 @@
    timestamp?: number;
  }
  interface FriendlyResultGetCheckReceiveTaskUserQueryResult {
  interface FriendlyResultGetCheckReceiveTasksQueryResult {
    /** 跟踪Id */
    traceId?: string;
    /** 状态码 */
    code?: number;
    /** 错误码 */
    errorCode?: string;
    data?: GetCheckReceiveTaskUserQueryResult;
    data?: GetCheckReceiveTasksQueryResult;
    /** 执行成功 */
    success?: boolean;
    /** 错误信息 */
    msg?: any;
    /** 附加数据 */
    extras?: any;
    /** 时间戳 */
    timestamp?: number;
  }
  interface FriendlyResultGetCheckReceiveTaskUserSubmitQueryResult {
    /** 跟踪Id */
    traceId?: string;
    /** 状态码 */
    code?: number;
    /** 错误码 */
    errorCode?: string;
    data?: GetCheckReceiveTaskUserSubmitQueryResult;
    /** 执行成功 */
    success?: boolean;
    /** 错误信息 */
@@ -1327,63 +1369,27 @@
  }
  interface GetCheckReceiveTaskQuery {
    /** 验收日期-最早时间 */
    dateBegin?: string;
    /** 验收日期-最晚时间 */
    dateEnd?: string;
    checkReceiveStatus?: EnumTaskCheckReceiveStatus;
    /** 任务Id */
    taskInfoId?: string;
    pageModel?: PagedListQueryPageModel;
  }
  interface GetCheckReceiveTaskQueryResult {
    objectData?: GetCheckReceiveTaskQueryResultObjectData;
    pageModel?: PagedListQueryResultPageModel;
    /** 数据 */
    data?: GetCheckReceiveTaskQueryResultItem[];
  }
  interface GetCheckReceiveTaskQueryResultItem {
    /** 任务Id */
    /** 任务人员Id */
    id?: string;
    /** 任务名称 */
    name?: string;
    /** 任务开始时间 */
    beginTime?: string;
    /** 任务结束时间 */
    endTime?: string;
    /** 任务地点名称 */
    addressName?: string;
  }
  interface GetCheckReceiveTaskUserQuery {
    /** 任务Id */
    taskInfoId?: string;
    /** 关键字 */
    keywords?: string;
    /** 验收日期-最早时间 */
    dateBegin?: string;
    /** 验收日期-最晚时间 */
    dateEnd?: string;
    checkReceiveStatus?: EnumTaskCheckReceiveStatus;
    pageModel?: PagedListQueryPageModel;
  }
  interface GetCheckReceiveTaskUserQueryResult {
    pageModel?: PagedListQueryResultPageModel;
    /** 数据 */
    data?: GetCheckReceiveTaskUserQueryResultItem[];
  }
  interface GetCheckReceiveTaskUserQueryResultItem {
    /** 任务Id */
    id?: string;
    /** 任务名称 */
    taskName?: string;
    /** 任务开始时间 */
    beginTime?: string;
    /** 任务结束时间 */
    endTime?: string;
    /** 任务地点名称 */
    addressName?: string;
    taskInfoName?: string;
    /** 任务单号 */
    taskInfoCode?: string;
    /** 头像 */
    avatar?: string;
    /** 姓名 */
    name?: string;
    /** 身份证号 */
@@ -1393,24 +1399,137 @@
    age?: number;
    /** 手机号 */
    contactPhoneNumber?: string;
    /** 提交时间 */
    /** 是否实名 */
    isReal?: boolean;
    realMethod?: EnumUserRealMethod;
    /** 最近提交时间 */
    lastSubmitTime?: string;
    checkReceiveStatus?: EnumTaskCheckReceiveStatus;
  }
  interface GetCheckReceiveTaskUserSubmitsQuery {
  interface GetCheckReceiveTaskQueryResultObjectData {
    /** 任务名称 */
    name?: string;
    /** 任务单号 */
    code?: string;
    billingMethod?: EnumBillingMethod;
    /** 服务费 */
    serviceFee?: number;
    settlementCycle?: EnumSettlementCycle;
    /** 任务开始时间 */
    beginTime?: string;
    /** 任务结束时间 */
    endTime?: string;
    /** 任务地点名称 */
    addressName?: string;
  }
  interface GetCheckReceiveTasksQuery {
    /** 日期(小程序-验收管理专用) */
    date?: string;
    /** 验收日期-最早时间(B端客户端-验收管理专用) */
    checkReceiveTimeBegin?: string;
    /** 验收日期-最晚时间(B端客户端-验收管理专用) */
    checkReceiveTimeEnd?: string;
    checkReceiveStatus?: EnumTaskCheckReceiveStatus;
    pageModel?: PagedListQueryPageModel;
  }
  interface GetCheckReceiveTasksQueryResult {
    pageModel?: PagedListQueryResultPageModel;
    /** 数据 */
    data?: GetCheckReceiveTasksQueryResultItem[];
  }
  interface GetCheckReceiveTasksQueryResultItem {
    /** 任务Id */
    id?: string;
    /** 任务名称 */
    name?: string;
    /** 任务单号 */
    code?: string;
    billingMethod?: EnumBillingMethod;
    /** 服务费 */
    serviceFee?: number;
    settlementCycle?: EnumSettlementCycle;
    /** 任务开始时间 */
    beginTime?: string;
    /** 任务结束时间 */
    endTime?: string;
    /** 任务地点名称 */
    addressName?: string;
    checkReceiveStatus?: EnumTaskCheckReceiveStatus;
    /** 最近验收时间 */
    lastCheckReceiveTime?: string;
  }
  interface GetCheckReceiveTaskUserSubmitQueryResult {
    /** 提交Id */
    id?: string;
    enterpriseEmployeeUser?: GetCheckReceiveTaskUserSubmitsQueryResultObjectDataEnterpriseEmployeeUser;
    /** 提交时间 */
    createdTime?: string;
    /** 验收照片 */
    files?: string[];
  }
  interface GetCheckReceiveTaskUserSubmitsQuery {
    /** 任务人员Id */
    id?: string;
    pageModel?: PagedListQueryPageModel;
  }
  interface GetCheckReceiveTaskUserSubmitsQueryResult {
    objectData?: GetCheckReceiveTaskUserSubmitsQueryResultObjectData;
    pageModel?: PagedListQueryResultPageModel;
    /** 数据 */
    data?: GetCheckReceiveTaskUserSubmitsQueryResultItem[];
  }
  type GetCheckReceiveTaskUserSubmitsQueryResultItem = Record<string, any>;
  interface GetCheckReceiveTaskUserSubmitsQueryResultItem {
    /** 提交Id */
    id?: string;
    /** 提交时间 */
    createdTime?: string;
    /** 验收照片 */
    files?: string[];
    checkReceiveStatus?: EnumTaskUserSubmitCheckReceiveStatus;
    /** 验收时间 */
    checkReceiveTime?: string;
  }
  interface GetCheckReceiveTaskUserSubmitsQueryResultObjectData {
    taskInfo?: GetCheckReceiveTaskUserSubmitsQueryResultObjectDataTaskInfo;
    enterpriseEmployeeUser?: GetCheckReceiveTaskUserSubmitsQueryResultObjectDataEnterpriseEmployeeUser;
  }
  interface GetCheckReceiveTaskUserSubmitsQueryResultObjectDataEnterpriseEmployeeUser {
    /** 头像 */
    avatar?: string;
    /** 姓名 */
    name?: string;
    /** 身份证号 */
    identity?: string;
    gender?: EnumUserGender;
    /** 年龄 */
    age?: number;
    /** 手机号 */
    contactPhoneNumber?: string;
    /** 是否实名 */
    isReal?: boolean;
    realMethod?: EnumUserRealMethod;
  }
  interface GetCheckReceiveTaskUserSubmitsQueryResultObjectDataTaskInfo {
    /** 任务名称 */
    name?: string;
    /** 任务开始时间 */
    beginTime?: string;
    /** 任务结束时间 */
    endTime?: string;
    /** 任务地点名称 */
    addressName?: string;
  }
  type GetCurrentLogierMenusQuery = Record<string, any>;
@@ -1554,6 +1673,8 @@
    applyTime?: string;
    /** 实名时间 */
    userRealTime?: string;
    /** 签约时间 */
    userSignContractTime?: string;
    /** 企业签约时间 */
    enterpriseSignContractTime?: string;
    /** 电子合同 */
@@ -1821,6 +1942,28 @@
    sort?: number;
    /** 备注 */
    remark?: string;
  }
  interface GetOpenTaskInfosQuery {
    /** 关键字(任务名称) */
    keywords?: string;
    /** 企业Id */
    enterpriseId?: string;
    /** 发布时间-开始 */
    beginTime?: string;
    /** 发布时间-结束 */
    endTime?: string;
    /** 任务地点所属城市编号 */
    cityCode?: string;
    settlementCycle?: EnumSettlementCycle;
    /** 员工福利 */
    benefitCodes?: string[];
    genderLimit?: EnumUserGender;
    status?: EnumTaskStatus;
    releaseStatus?: EnumTaskReleaseStatus;
    recommendStatus?: EnumTaskRecommendStatus;
    checkReceiveStatus?: EnumTaskCheckReceiveStatus;
    pageModel?: PagedListQueryPageModel;
  }
  interface GetOperationUserInfosQuery {
@@ -2264,6 +2407,8 @@
  interface GetTaskUsersQueryResultItem {
    /** 任务人员Id */
    id?: string;
    /** 灵工Id */
    enterpriseEmployeeId?: string;
    /** 头像 */
    avatar?: string;
    /** 姓名 */
@@ -3080,6 +3225,13 @@
    clientType?: EnumClientType;
  }
  interface SubmitCheckReceiveTaskCommand {
    /** 任务Id */
    taskInfoId?: string;
    /** 附件 */
    files?: string[];
  }
  type SyncHumanResourcesAreaDictionaryDataCommand = Record<string, any>;
  interface UpdatePhoneNumberVerifyCodeCommand {