wupengfei
13 小时以前 9c8b6d1cf6b43c6652b5183cd0183e8e257001f7
apps/cMiniApp/src/subpackages/task/taskDetail/InnerPage.vue
@@ -41,7 +41,7 @@
            :unit="BillingMethodEnumUnit[detail.billingMethod]"
          />
        </div>
        <div class="taskDetail-address-wrapper">
        <div class="taskDetail-address-wrapper" @click="goMap">
          <div class="taskDetail-address-title-wrapper">
            <img :src="IconLocaltion" class="taskDetail-address-title-icon" />
            <div class="taskDetail-address-title">{{ detail?.addressName ?? '' }}</div>
@@ -92,6 +92,7 @@
            @click="goCompanyDetail"
            :enterpriseName="detail?.enterpriseName ?? ''"
            :taskCount="detail?.taskCount ?? 0"
            :isReal="detail?.isReal ?? false"
          ></CompanyDesc>
        </CellChunk>
      </Cell>
@@ -121,7 +122,12 @@
        :isFlex="false"
        @click="handleCall"
      ></PageFooterAction>
      <PageFooterBtn v-if="from === 'sign'" type="primary" disabled>
      <PageFooterBtn
        v-if="from === 'sign'"
        type="primary"
        :disabled="detail?.applyButton === GetTaskInfoQueryResultApplyButton.WaitHire"
        @click="handleSign"
      >
        {{ GetTaskInfoQueryResultApplyButtonText[detail.applyButton] }}
      </PageFooterBtn>
      <PageFooterBtn
@@ -154,6 +160,7 @@
import { useQuery } from '@tanstack/vue-query';
import * as taskServices from '@12333/services/apiV2/task';
import * as taskUserServices from '@12333/services/apiV2/taskUser';
import * as enterpriseEmployeeServices from '@12333/services/apiV2/enterpriseEmployee';
import { useToggle } from 'senin-mini/hooks';
import { TaskPrice, TaskDetailWelfareItem } from '@12333/components';
import IconAttention from '@/assets/task/icon-attention.png';
@@ -176,6 +183,7 @@
  GetPersonalHireTaskInfosQueryStatusColor,
  GetTaskInfoQueryResultHireButtonText,
  GetTaskInfoQueryResultHireButton,
  GetTaskInfoQueryResultApplyButton,
} from '@12333/constants';
import { useAccessLogin } from '@/hooks';
@@ -186,7 +194,7 @@
/**
 * TODO 缺少 投诉举报接口
 */
const { userDetail } = useUser();
const router = Taro.useRouter();
const id = router.params?.id ?? '';
const from = router.params?.from ?? '';
@@ -228,18 +236,21 @@
  }
});
const handleApply = useAccessLogin(async () => {
  try {
    let params: API.ApplyTaskCommand = {
      ids: [id],
    };
    let res = await taskUserServices.applyTask(params);
    if (res) {
      Message.success('报名成功');
      refetch({ type: 'inactive' });
    }
  } catch (error) {}
});
const handleApply = useAccessReal(
  async () => {
    try {
      let params: API.ApplyTaskCommand = {
        ids: [id],
      };
      let res = await taskUserServices.applyTask(params);
      if (res) {
        Message.success('报名成功');
        refetch({ type: 'inactive' });
      }
    } catch (error) {}
  },
  { message: '实名成功后才可报名,请前往实名认证' }
);
const handleAttention = useAccessLogin(async () => {
  try {
@@ -275,4 +286,21 @@
    url: `${RouterPath.taskSubmitCheck}?id=${id}`,
  });
}
const handleSign = useAccessReal(() => {
  Taro.navigateTo({
    url: `${RouterPath.mineAgreementSignDetail}?id=${detail.value?.enterpriseEmployeeId}`,
  });
});
function goMap() {
  Taro.openLocation({
    latitude: detail.value?.latitude,
    longitude: detail.value?.longitude,
    scale: 18,
  });
}
Taro.useDidShow(() => {
  refetch();
});
</script>