wupengfei
4 天以前 f790bdf751063dd882b5ae654cb540d81bf16d1d
Merge branch 'master' of http://120.26.58.240:8888/r/flexJobMiniApp
10个文件已修改
116 ■■■■■ 已修改文件
apps/bMiniApp/project.config.json 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
apps/bMiniApp/project.private.config.json 7 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
apps/bMiniApp/src/components/Menu/MenuItem.vue 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
apps/bMiniApp/src/subpackages/jobApplicationManage/components/JobDetail.vue 36 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
apps/bMiniApp/src/subpackages/jobApplicationManage/jobApplicationManage/InnerPage.vue 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
apps/bMiniApp/src/subpackages/task/publishTask/InnerPage.vue 7 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
apps/cMiniApp/.eslintrc-auto-import.json 43 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
apps/cMiniApp/src/subpackages/task/taskDetail/InnerPage.vue 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
packages/components/src/Input/ChooseInputWithDatePicker.vue 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
packages/components/src/Tabs/ProTabs.vue 12 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
apps/bMiniApp/project.config.json
@@ -3,8 +3,8 @@
    "description": "",
    "setting": {
        "urlCheck": false,
        "es6": false,
        "enhance": false,
        "es6": true,
        "enhance": true,
        "postcss": false,
        "preloadBackgroundData": false,
        "minified": false,
apps/bMiniApp/project.private.config.json
@@ -9,6 +9,13 @@
        "miniprogram": {
            "list": [
                {
                    "name": "应聘管理详情",
                    "pathName": "subpackages/jobApplicationManage/jobApplicationDetail/jobApplicationDetail",
                    "query": "taskId=04c75425-e783-4dbf-0f16-08ddd626b756",
                    "launchMode": "default",
                    "scene": null
                },
                {
                    "name": "设置",
                    "pathName": "subpackages/mine/setting/setting",
                    "query": "",
apps/bMiniApp/src/components/Menu/MenuItem.vue
@@ -125,7 +125,7 @@
    const style = computed(() => {
      return parent.props.direction === 'down'
        ? { top: parent.offset.value + 'px' }
        ? { top: parent.offset.value + 'px', zIndex: 222222222 }
        : { bottom: parent.offset.value + 'px' };
    });
apps/bMiniApp/src/subpackages/jobApplicationManage/components/JobDetail.vue
@@ -1,10 +1,10 @@
<template>
  <LoadingLayout :loading="isLoading" :error="isError" :loadError="refetch">
    <ContentScrollView style="background-color: transparent">
      <Cell :title="detail.taskName" titleSize="large">
      <Cell :title="detail.name" titleSize="large">
        <div class="taskDetail-time">
          {{
            `${dayjs(detail.startDate).format('YYYY年MM月DD日')}至${dayjs(detail.endDate).format(
            `${dayjs(detail.beginTime).format('YYYY年MM月DD日')}至${dayjs(detail.endTime).format(
              'YYYY年MM月DD日'
            )}`
          }}
@@ -12,18 +12,21 @@
        <div class="task-card-welfare-wrapper">
          <div class="task-card-welfare-list">
            <div class="task-card-welfare-list-item">
              {{ FlexTaskSettleTypeEnumText[detail.settleType] }}
              {{ EnumSettlementCycleText[detail.settlementCycle] }}
            </div>
          </div>
          <TaskPrice :value="detail.fee" :unit="SalaryTimeTypeEnumUnit[detail.feeType]" />
          <TaskPrice
            :value="toThousand(detail.serviceFee ?? 0)"
            :unit="BillingMethodEnumUnit[detail.billingMethod]"
          />
        </div>
        <div class="taskDetail-address-wrapper">
          <div class="taskDetail-address-title-wrapper">
            <img :src="IconLocaltion" class="taskDetail-address-title-icon" />
            <div class="taskDetail-address-title">宁波柏悦酒店</div>
            <div class="taskDetail-address-title">{{ detail?.addressName ?? '' }}</div>
          </div>
          <div class="taskDetail-address-info-wrapper">
            <div class="taskDetail-address-info">宁波市鄞州区东钱湖大堰路188号宁波柏悦酒店</div>
            <div class="taskDetail-address-info">{{ detail?.addressDetail ?? '' }}</div>
            <RectRight :size="8" class="taskDetail-address-info-icon" />
          </div>
        </div>
@@ -32,10 +35,10 @@
        <CellChunk title="福利信息">
          <div class="taskDetail-welfare-list">
            <TaskDetailWelfareItem
              v-for="item in detail.taskWeals"
              :key="item.id"
              :icon="setOSSLink(item.imageUrl)"
              :text="item.name"
              v-for="benefit in detail.benefits"
              :key="benefit.benefitCode"
              :icon="setOSSLink(benefit.benefitField2)"
              :text="benefit.benefitContent"
            />
          </div>
        </CellChunk>
@@ -47,13 +50,13 @@
<script setup lang="ts">
import { useQuery } from '@tanstack/vue-query';
import Taro from '@tarojs/taro';
import * as flexWorkerServices from '@12333/services/api/FlexWorker';
import * as taskServices from '@12333/services/apiV2/task';
import IconLocaltion from '@/assets/flexJob/icon-localtion.png';
import { TaskPrice, TaskDetailWelfareItem } from '@12333/components';
import { SalaryTimeTypeEnumUnit, FlexTaskSettleTypeEnumText } from '@12333/constants/task';
import dayjs from 'dayjs';
import { setOSSLink } from '@12333/utils';
import { setOSSLink, toThousand } from '@12333/utils';
import { RectRight } from '@nutui/icons-vue-taro';
import { BillingMethodEnumUnit, EnumSettlementCycleText } from '@12333/constants';
defineOptions({
  name: 'JobDetail',
@@ -72,17 +75,16 @@
  data: detail,
  refetch,
} = useQuery({
  queryKey: ['flexWorkerServices/getFlexTaskDto', taskId],
  queryKey: ['taskServices/getTaskInfo', taskId],
  queryFn: async () => {
    return await flexWorkerServices.getFlexTaskDto(
    return await taskServices.getTaskInfo(
      { id: taskId },
      {
        showLoading: false,
      }
    );
  },
  placeholderData: () => ({} as API.GetFlexTaskDtoOutput),
  onSuccess(data) {},
  placeholderData: () => ({} as API.GetTaskInfoQueryResult),
});
</script>
apps/bMiniApp/src/subpackages/jobApplicationManage/jobApplicationManage/InnerPage.vue
@@ -36,6 +36,7 @@
        @edit="goEdit(item)"
        @copy="goEdit(item, true)"
        @detail="goDetail(item)"
        @click="goDetail(item)"
        @publish="handleChangeStatus(item, EnumTaskReleaseStatus.InProcess)"
        @stop="handleChangeStatus(item, EnumTaskReleaseStatus.Stopped)"
        @delete="handleDelete(item)"
apps/bMiniApp/src/subpackages/task/publishTask/InnerPage.vue
@@ -272,7 +272,8 @@
      message: '请选择结束日期',
      validator(value) {
        if (!value) return Promise.reject('请选择结束日期');
        if (value <= form.beginTime) return Promise.reject('结束日期不能小于开始日期');
        if (!dayjs(value).isAfter(dayjs(form.beginTime)))
          return Promise.reject('结束日期需大于开始日期');
        return Promise.resolve(true);
      },
    },
@@ -306,8 +307,8 @@
    form.ageMaxLimit = data.ageMaxLimit;
    form.genderLimit = data.genderLimit;
    form.credentialLimits = (data.credentialLimits ?? []).map((item) => item.typeCode);
    form.beginTime = dayjs(data.beginTime).format('YYYY-MM-DD 00:00:00');
    form.endTime = dayjs(data.endTime).format('YYYY-MM-DD 23:59:59');
    form.beginTime = dayjs(data.beginTime).format('YYYY-MM-DD');
    form.endTime = dayjs(data.endTime).format('YYYY-MM-DD');
    form.addressDetail = data.addressDetail;
    form.weMapInfo = {
      provinceName: data.provinceContent,
apps/cMiniApp/.eslintrc-auto-import.json
@@ -1,21 +1,23 @@
{
  "globals": {
    "AppLocalConfig": true,
    "BackType": true,
    "Component": true,
    "ComponentPublicInstance": true,
    "ComputedRef": true,
    "DirectiveBinding": true,
    "EffectScope": true,
    "ExtractDefaultPropTypes": true,
    "ExtractPropTypes": true,
    "ExtractPublicPropTypes": true,
    "InjectionKey": true,
    "MaybeRef": true,
    "MaybeRefOrGetter": true,
    "OssAssets": true,
    "PropType": true,
    "Ref": true,
    "RouterPath": true,
    "Slot": true,
    "Slots": true,
    "TabBarPageRouter": true,
    "TaskStatus": true,
    "TaskStatusColor": true,
    "TaskStatusText": true,
    "VNode": true,
    "WritableComputedRef": true,
    "acceptHMRUpdate": true,
@@ -42,6 +44,7 @@
    "mapStores": true,
    "mapWritableState": true,
    "markRaw": true,
    "myClient": true,
    "nextTick": true,
    "onActivated": true,
    "onBeforeMount": true,
@@ -76,40 +79,30 @@
    "toValue": true,
    "triggerRef": true,
    "unref": true,
    "useAccessLogin": true,
    "useAccessPersonalInfo": true,
    "useAttrs": true,
    "useAuth": true,
    "useCssModule": true,
    "useCssVars": true,
    "useGoLogin": true,
    "useId": true,
    "useIsLogin": true,
    "useLink": true,
    "useLoginedJump": true,
    "useModel": true,
    "useMyCertificationAuditInfo": true,
    "useRoute": true,
    "useRouter": true,
    "useSlots": true,
    "useSwitchTab": true,
    "useTemplateRef": true,
    "useUser": true,
    "useUserResume": true,
    "watch": true,
    "watchEffect": true,
    "watchPostEffect": true,
    "watchSyncEffect": true,
    "AppLocalConfig": true,
    "BackType": true,
    "HomeOrderType": true,
    "OssAssets": true,
    "TabBarPageRouter": true,
    "TaskStatus": true,
    "TaskStatusColor": true,
    "TaskStatusText": true,
    "myClient": true,
    "useAccessLogin": true,
    "useAccessPersonalInfo": true,
    "useAuth": true,
    "useGoLogin": true,
    "useIsLogin": true,
    "useLoginedJump": true,
    "useMyCertificationAuditInfo": true,
    "useSwitchTab": true,
    "useTaskList": true,
    "useUser": true,
    "useUserResume": true,
    "useUpdateResume": true
  }
}
apps/cMiniApp/src/subpackages/task/taskDetail/InnerPage.vue
@@ -152,7 +152,7 @@
});
/**
 * TODO 缺少已报名人数 手机 投诉举报接口 报名接口
 * TODO 缺少 手机 投诉举报接口 报名接口
 */
const router = Taro.useRouter();
packages/components/src/Input/ChooseInputWithDatePicker.vue
@@ -45,7 +45,7 @@
                  modelValue: _modelValue,
                  onCancel: onClose,
                  onConfirm: ({ selectedValue }) => {
                    emit('update:modelValue', dayjs(selectedValue).format('YYYY-MM-DD'));
                    emit('update:modelValue', dayjs(selectedValue.join('-')).format('YYYY-MM-DD'));
                    onClose();
                  },
                  minDate: props.minDate,
packages/components/src/Tabs/ProTabs.vue
@@ -6,6 +6,7 @@
      direction,
      { fullHeight, noContent: !showPaneContent, flexTitle, noSmile: !showSmile },
    ]"
    :style="tabsStyle"
  >
    <div :class="['pro-tabs__titles_wrapper', { isTransparent }]">
      <scroll-view
@@ -403,6 +404,17 @@
  return { marginLeft: px, marginRight: px };
});
const refRandomId = Math.random().toString(36).slice(-8);
const systemInfo = Taro.getSystemInfoSync();
console.log('systemInfo: ', systemInfo);
const tabsStyle = computed(() => {
  if (systemInfo.platform === 'ios') {
    return { overflow: 'visible' };
  } else {
    return {};
  }
});
</script>
<style lang="scss">