wupengfei
5 天以前 157ccc5dd9df9358f62a2f753668f21bec1c90ee
apps/cMiniApp/src/subpackages/task/taskDetail/InnerPage.vue
@@ -21,6 +21,7 @@
          >
            {{ GetTaskInfoQueryResultHireButtonText[detail.hireButton] }}
          </div>
          <div v-if="from === 'cancel'" :style="{ color: '#999999' }">已取消</div>
        </template>
        <div class="taskDetail-time">
          {{ dayjs(detail?.beginTime).format('YYYY年MM月DD日') }} 至
@@ -40,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>
@@ -120,7 +121,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
@@ -153,6 +159,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';
@@ -175,6 +182,7 @@
  GetPersonalHireTaskInfosQueryStatusColor,
  GetTaskInfoQueryResultHireButtonText,
  GetTaskInfoQueryResultHireButton,
  GetTaskInfoQueryResultApplyButton,
} from '@12333/constants';
import { useAccessLogin } from '@/hooks';
@@ -183,9 +191,9 @@
});
/**
 * TODO 缺少 手机 投诉举报接口 报名接口
 * TODO 缺少 投诉举报接口
 */
const { userDetail } = useUser();
const router = Taro.useRouter();
const id = router.params?.id ?? '';
const from = router.params?.from ?? '';
@@ -234,31 +242,29 @@
    };
    let res = await taskUserServices.applyTask(params);
    if (res) {
      Message.success('报名成功', {
        onClosed() {
          refetch({ type: 'inactive' });
        },
      });
      Message.success('报名成功');
      refetch({ type: 'inactive' });
    }
  } catch (error) {}
});
const handleAttention = useAccessLogin(async () => {
  try {
    await Message.confirm({
      message: `确定${detail.value?.isCollected ? '取消收藏' : '收藏'}吗?`,
    });
    // await Message.confirm({
    //   message: `确定${detail.value?.isCollected ? '取消收藏' : '收藏'}吗?`,
    // });
    let params: API.CollectTaskCommand = {
      ids: [id],
      isCollect: !detail.value?.isCollected,
    };
    let res = await taskUserServices.collectTask(params);
    if (res) {
      Message.success('操作成功', {
        onClosed() {
          refetch({ type: 'inactive' });
        },
      });
      refetch({ type: 'inactive' });
      // Message.success('操作成功', {
      //   onClosed() {
      //     refetch({ type: 'inactive' });
      //   },
      // });
    }
  } catch (error) {}
});
@@ -272,8 +278,25 @@
});
function handleHire() {
Taro.navigateTo({
  url: `${RouterPath.taskSubmitCheck}?id=${id}`,
})
  Taro.navigateTo({
    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>