wupengfei
4 天以前 a51125457eb11c447c0e9be8ccdfe5517d5cd106
feat: mine
4个文件已修改
83 ■■■■ 已修改文件
apps/bMiniApp/src/subpackages/flexJob/flexJobDetailFromTask/InnerPage.vue 31 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
apps/bMiniApp/src/subpackages/task/batchTaskList/InnerPage.vue 40 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
apps/bMiniApp/src/subpackages/task/taskManage/InnerPage.vue 9 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
apps/cMiniApp/src/subpackages/task/taskDetail/InnerPage.vue 3 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
apps/bMiniApp/src/subpackages/flexJob/flexJobDetailFromTask/InnerPage.vue
@@ -2,15 +2,8 @@
  <LoadingLayout :loading="isLoading" :error="isError" :loadError="refetch">
    <JobDetailContent :isCollapse="true">
      <template #footer>
        <PageFooterBtn
          type="primary"
          plain
          @click="taskWorkerHireRefuse(FlexTaskWorkerHireEnum.Refused)"
          >谢绝</PageFooterBtn
        >
        <PageFooterBtn type="primary" @click="taskWorkerHireRefuse(FlexTaskWorkerHireEnum.Hired)"
          >录用</PageFooterBtn
        >
        <PageFooterBtn type="primary" plain @click="taskWorkerHireRefuse(10)">谢绝</PageFooterBtn>
        <PageFooterBtn type="primary" @click="taskWorkerHireRefuse(20)">录用</PageFooterBtn>
      </template>
    </JobDetailContent>
  </LoadingLayout>
@@ -19,16 +12,15 @@
<script setup lang="ts">
import Taro from '@tarojs/taro';
import { useQuery } from '@tanstack/vue-query';
import * as flexWorkerServices from '@12333/services/api/FlexWorker';
import * as taskUserServices from '@12333/services/apiV2/taskUser';
import { Message } from '@12333/utils';
import { FlexTaskWorkerHireEnum } from '@12333/constants/task';
defineOptions({
  name: 'InnerPage',
});
const router = Taro.useRouter();
const taskId = router.params?.id ?? '';
const id = router.params?.id ?? '';
const {
  isLoading,
@@ -36,26 +28,25 @@
  data: detail,
  refetch,
} = useQuery({
  queryKey: ['flexWorkerServices/getFlexTaskDto', taskId],
  queryKey: ['taskServices/getTaskInfo', id],
  queryFn: async () => {
    return await flexWorkerServices.getFlexTaskDto(
      { id: taskId },
    return await taskServices.getTaskInfo(
      { id: id },
      {
        showLoading: false,
      }
    );
  },
  placeholderData: () => ({} as API.GetFlexTaskDtoOutput),
  placeholderData: () => ({} as API.GetTaskInfoQueryResult),
});
async function taskWorkerHireRefuse(hireStatus: FlexTaskWorkerHireEnum) {
  try {
    let params: API.TaskWorkerHireRefuseInput = {
      flexTaskId: taskId,
      flexWorkerId: detail.value?.taskId,
    let params: API.SetTaskUserHireCommand = {
      id: id,
      hireStatus: hireStatus,
    };
    let res = await flexWorkerServices.taskWorkerHireRefuse(params);
    let res = await taskUserServices.setTaskUserHire(params);
    if (res) {
      Message.success('操作成功');
      refetch({
apps/bMiniApp/src/subpackages/task/batchTaskList/InnerPage.vue
@@ -11,10 +11,10 @@
    <template #renderItem="{ item }">
      <FlexJobCard
        :name="item.name"
        :genderType="item.genderType"
        :gender="item.gender"
        :age="item.age"
        :educationalLevel="item.educationalLevel"
        :arrangeCount="item.arrangeCount"
        :educationalBackgroundContent="item.educationalBackgroundContent"
        :taskCount="item.taskCount"
        :showFooterLeft="false"
      >
        <template #footerRight>
@@ -31,8 +31,8 @@
<script setup lang="ts">
import Taro from '@tarojs/taro';
import { useInfiniteLoading } from '@12333/hooks';
import { OrderInputType } from '@12333/constants';
import * as flexWorkerServices from '@12333/services/api/FlexWorker';
import { EnumTaskUserArrangeStatus, EnumPagedListOrder } from '@12333/constants';
import * as taskUserServices from '@12333/services/apiV2/taskUser';
import _ from 'lodash';
import { Message, trim } from '@12333/utils';
import { FlexJobCard } from '@12333/components';
@@ -43,10 +43,10 @@
const searchValue = ref('');
const router = Taro.useRouter();
const taskId = router.params?.taskId ?? '';
const id = router.params?.id ?? '';
const status = router.params?.status ?? '';
const queryState = reactive({
  searchValueTrim: '',
  keywords: '',
});
const showQueryState = computed(() => {
@@ -54,38 +54,38 @@
});
const handleSearch = _.debounce(function () {
  queryState.searchValueTrim = trim(searchValue.value);
  queryState.keywords = trim(searchValue.value);
}, 300);
const { infiniteLoadingProps, invalidateQueries } = useInfiniteLoading(
  ({ pageParam }) => {
    let params: API.GetFlexTaskWorkerArrangeListInput = {
      searchKeys: queryState.searchValueTrim,
      flexTaskId: taskId,
    let params: API.GetArrangeTaskUsersQuery = {
      keywords: queryState.keywords,
      arrangeStatus: EnumTaskUserArrangeStatus.Wait,
      id: id,
      pageModel: {
        rows: 20,
        page: pageParam,
        orderInput: [{ property: 'lastShelfTime', order: OrderInputType.Desc }],
        orderInput: [{ property: 'id', order: EnumPagedListOrder.Desc }],
      },
    };
    return flexWorkerServices.getFlexTaskWorkerArrangeList(params, {
    return taskUserServices.getArrangeTaskUsers(params, {
      showLoading: false,
    });
  },
  {
    queryKey: ['flexWorkerServices/getFlexTaskWorkerArrangeList', queryState],
    queryKey: ['taskUserServices/getArrangeTaskUsers', queryState],
  }
);
async function handleArrange(item: API.GetNewestWorkerListOutput) {
async function handleArrange(item: API.GetArrangeTaskUsersQueryResultItem) {
  try {
    let params: API.TaskWorkerArrangeInput = {
      flexTaskId: taskId,
      flexWorkerId: item.userId,
      arrange: true,
    let params: API.SetTaskUserArrangeCommand = {
      id: item.id,
      arrangeStatus: EnumTaskUserArrangeStatus.Complete,
    };
    let res = await flexWorkerServices.taskWorkerArrange(params);
    let res = await taskUserServices.setTaskUserArrange(params);
    if (res) {
      Message.success('已安排');
      invalidateQueries();
apps/bMiniApp/src/subpackages/task/taskManage/InnerPage.vue
@@ -59,7 +59,11 @@
  name: 'InnerPage',
});
const { queryMenuState, infiniteLoadingProps } = useTaskList();
const { queryMenuState, infiniteLoadingProps } = useTaskList({
  defaultQueryMenuState: {
    status: EnumTaskStatus.Wait,
  },
});
const completedAssignCount = computed(() => {
  return infiniteLoadingProps.value?.listData?.pages?.[0]?.objectData?.completedAssignCount ?? 0;
@@ -75,8 +79,9 @@
}
function goBatchTaskList(item: API.GetTaskInfosQueryResultItem, status: string) {
  console.log('status: ', status);
  Taro.navigateTo({
    url: `${RouterPath.batchTaskList}?taskId=${item.id}&detail=${status}`,
    url: `${RouterPath.batchTaskList}?id=${item.id}&status=${status}`,
  });
}
</script>
apps/cMiniApp/src/subpackages/task/taskDetail/InnerPage.vue
@@ -114,6 +114,9 @@
        :disabled="detail?.hireStatus === EnumTaskUserHireStatus.Wait"
        >{{ `报名(${detail?.applyCount ?? 0}人已报名)` }}</PageFooterBtn
      >
      <PageFooterBtn v-if="detail.hireStatus === EnumTaskUserHireStatus.Wait" color="#999999"
        >已停止</PageFooterBtn
      >
      <PageFooterBtn v-if="detail.releaseStatus === EnumTaskReleaseStatus.Stopped" color="#999999"
        >已停止</PageFooterBtn
      >