From 2173aa93a17e6c163ff607c8637eaeb2c00b96e3 Mon Sep 17 00:00:00 2001
From: wupengfei <834520024@qq.com>
Date: 星期二, 05 八月 2025 17:16:03 +0800
Subject: [PATCH] feat: 名片
---
apps/bMiniApp/src/subpackages/jobApplicationManage/jobApplicationManage/InnerPage.vue | 111 ++++++++++++++++++++++++++++++++++++++++++++-----------
1 files changed, 89 insertions(+), 22 deletions(-)
diff --git a/apps/bMiniApp/src/subpackages/jobApplicationManage/jobApplicationManage/InnerPage.vue b/apps/bMiniApp/src/subpackages/jobApplicationManage/jobApplicationManage/InnerPage.vue
index c72c92e..a29d411 100644
--- a/apps/bMiniApp/src/subpackages/jobApplicationManage/jobApplicationManage/InnerPage.vue
+++ b/apps/bMiniApp/src/subpackages/jobApplicationManage/jobApplicationManage/InnerPage.vue
@@ -1,6 +1,6 @@
<template>
<ProTabs
- v-model="queryState.mineHireType"
+ v-model="queryState.flexTaskReleaseStatus"
name="home-tab"
:showPaneContent="false"
class="home-tabs"
@@ -8,15 +8,41 @@
title-gutter="12"
title-scroll
>
- <ProTabPane :title="`鍙戝竷涓�(${1})`" :pane-key="0"></ProTabPane>
- <ProTabPane :title="`宸插仠姝�(${1})`" :pane-key="10"></ProTabPane>
+ <ProTabPane
+ :title="`${
+ FlexTaskReleaseStatusEnumText[FlexTaskReleaseStatusEnum.Releasing]
+ }(${releaseing})`"
+ :pane-key="FlexTaskReleaseStatusEnum.Releasing"
+ ></ProTabPane>
+ <ProTabPane
+ :title="`${FlexTaskReleaseStatusEnumText[FlexTaskReleaseStatusEnum.Stoping]}(${stoping})`"
+ :pane-key="FlexTaskReleaseStatusEnum.Stoping"
+ ></ProTabPane>
</ProTabs>
<InfiniteLoading
scrollViewClassName="common-infinite-scroll-list home-list"
v-bind="infiniteLoadingProps"
+ :key="queryState.flexTaskReleaseStatus"
>
<template #renderItem="{ item }">
- <JobApplicationCard @edit="goEdit" @detail="goDetail"> </JobApplicationCard>
+ <JobApplicationCard
+ :taskName="item.taskName"
+ :startDate="item.startDate"
+ :endDate="item.endDate"
+ :creationTime="item.creationTime"
+ :address="item.address"
+ :fee="item.fee"
+ :applyWorkerCount="item.applyWorkerCount"
+ :unit="SalaryTimeTypeEnumUnit[item.feeType]"
+ :releaseStatus="item.releaseStatus"
+ @edit="goEdit(item)"
+ @copy="goEdit(item, true)"
+ @detail="goDetail(item)"
+ @publish="handleChangeStatus(item, FlexTaskReleaseStatusEnum.Releasing)"
+ @stop="handleChangeStatus(item, FlexTaskReleaseStatusEnum.Stoping)"
+ @delete="handleDelete(item)"
+ >
+ </JobApplicationCard>
</template>
</InfiniteLoading>
</template>
@@ -26,54 +52,95 @@
import { RouterPath } from '@/constants';
import { useInfiniteLoading } from '@12333/hooks';
import { OrderInputType } from '@12333/constants';
+import {
+ FlexTaskReleaseStatusEnum,
+ FlexTaskReleaseStatusEnumText,
+ SalaryTimeTypeEnumUnit,
+} from '@12333/constants/task';
import * as flexWorkerServices from '@12333/services/api/FlexWorker';
-import { TaskStatus } from '@/constants/task';
import Taro from '@tarojs/taro';
+import { Message } from '@12333/utils';
defineOptions({
name: 'InnerPage',
});
const queryState = reactive({
- mineHireType: TaskStatus.All,
+ flexTaskReleaseStatus: FlexTaskReleaseStatusEnum.Releasing,
});
-const { infiniteLoadingProps } = useInfiniteLoading(
+const { infiniteLoadingProps, invalidateQueries } = useInfiniteLoading(
({ pageParam }) => {
- let params: API.GetFlexTaskListInput = {
+ let params: API.GetFlexTaskListByStatusInput = {
+ releaseStatus: queryState.flexTaskReleaseStatus,
pageModel: {
rows: 20,
page: pageParam,
- orderInput: [{ property: 'isRecommend', order: OrderInputType.Desc }],
+ orderInput: [{ property: 'creationTime', order: OrderInputType.Desc }],
},
};
- return flexWorkerServices.getFlexTaskByArrange(params, {
+ return flexWorkerServices.getFlexTaskList(params, {
showLoading: false,
});
},
{
- queryKey: ['flexWorkerServices/getFlexTaskByArrange'],
+ queryKey: ['flexWorkerServices/getFlexTaskList', queryState],
}
);
-function goPage(routeName: string) {
- Taro.navigateTo({
- url: routeName,
- });
+const releaseing = computed(() => {
+ return infiniteLoadingProps.value?.listData?.pages?.[0]?.objectData?.releaseing ?? 0;
+});
+const stoping = computed(() => {
+ return infiniteLoadingProps.value?.listData?.pages?.[0]?.objectData?.stoping ?? 0;
+});
+
+async function handleChangeStatus(
+ item: API.GetFlexTaskListOutput,
+ releaseStatus: FlexTaskReleaseStatusEnum
+) {
+ try {
+ let params: API.UpdateTaskReleaseStatusInput = {
+ taskId: item.taskId,
+ releaseStatus: releaseStatus,
+ };
+ let res = await flexWorkerServices.updateFlexTaskReleaseStatus(params);
+ if (res) {
+ Message.success('鎿嶄綔鎴愬姛');
+ invalidateQueries();
+ }
+ } catch (error) {}
}
-function goEdit() {
- goPage(RouterPath.publishTask);
+async function handleDelete(item: API.GetFlexTaskListOutput) {
+ try {
+ await Message.confirm({
+ message: '纭畾瑕佸垹闄ゅ悧锛�',
+ });
+ let params: API.APIdeleteFlexTaskParams = {
+ id: item.taskId,
+ };
+ let res = await flexWorkerServices.deleteFlexTask(params);
+ if (res) {
+ Message.success('鍒犻櫎鎴愬姛');
+ invalidateQueries();
+ }
+ } catch (error) {}
}
-function goDetail() {
- goPage(RouterPath.jobApplicationDetail);
+
+function goEdit(item: API.GetFlexTaskListOutput, isCopy = false) {
+ Taro.navigateTo({
+ url: `${RouterPath.publishTask}?taskId=${item.taskId}&isCopy=${isCopy}`,
+ });
+}
+function goDetail(item: API.GetFlexTaskListOutput) {
+ Taro.navigateTo({
+ url: `${RouterPath.jobApplicationDetail}?taskId=${item.taskId}`,
+ });
}
</script>
<style lang="scss">
@import '@/styles/common.scss';
-
-// .jobApplicationManage-page-wrapper {
-// }
</style>
--
Gitblit v1.9.1