From 354fa08d53f4cd97014bfb0008c8c5f0326bbdd3 Mon Sep 17 00:00:00 2001
From: zhengyiming <540361168@qq.com>
Date: 星期一, 11 八月 2025 09:38:35 +0800
Subject: [PATCH] Merge branch 'master' of http://120.26.58.240:8888/r/flexJobMiniApp

---
 apps/bMiniApp/src/subpackages/jobApplicationManage/jobApplicationManage/InnerPage.vue |  110 +++++++++++++++++++++++++++++++++++++------------------
 1 files changed, 74 insertions(+), 36 deletions(-)

diff --git a/apps/bMiniApp/src/subpackages/jobApplicationManage/jobApplicationManage/InnerPage.vue b/apps/bMiniApp/src/subpackages/jobApplicationManage/jobApplicationManage/InnerPage.vue
index daaecd7..11a4540 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="queryMenuState.releaseStatus"
     name="home-tab"
     :showPaneContent="false"
     class="home-tabs"
@@ -8,15 +8,39 @@
     title-gutter="12"
     title-scroll
   >
-    <ProTabPane :title="`鍙戝竷涓�(${1})`" :pane-key="0"></ProTabPane>
-    <ProTabPane :title="`宸插仠姝�(${1})`" :pane-key="10"></ProTabPane>
+    <ProTabPane
+      :title="`鍙戝竷涓�(${releaseing})`"
+      :pane-key="EnumTaskReleaseStatus.InProcess"
+    ></ProTabPane>
+    <ProTabPane
+      :title="`宸插仠姝�(${stoping})`"
+      :pane-key="EnumTaskReleaseStatus.Stopped"
+    ></ProTabPane>
   </ProTabs>
   <InfiniteLoading
     scrollViewClassName="common-infinite-scroll-list home-list"
     v-bind="infiniteLoadingProps"
+    :key="queryMenuState.releaseStatus"
   >
     <template #renderItem="{ item }">
-      <JobApplicationCard @edit="goEdit" @detail="goDetail"> </JobApplicationCard>
+      <JobApplicationCard
+        :name="item.name"
+        :beginTime="item.beginTime"
+        :endTime="item.endTime"
+        :createdTime="item.createdTime"
+        :addressName="item.addressName"
+        :serviceFee="item.serviceFee"
+        :userCount="item.userCount"
+        :unit="BillingMethodEnumUnit[item.billingMethod]"
+        :releaseStatus="item.releaseStatus"
+        @edit="goEdit(item)"
+        @copy="goEdit(item, true)"
+        @detail="goDetail(item)"
+        @publish="handleChangeStatus(item, EnumTaskReleaseStatus.InProcess)"
+        @stop="handleChangeStatus(item, EnumTaskReleaseStatus.Stopped)"
+        @delete="handleDelete(item)"
+      >
+      </JobApplicationCard>
     </template>
   </InfiniteLoading>
 </template>
@@ -24,56 +48,70 @@
 <script setup lang="ts">
 import { JobApplicationCard, ProTabs, ProTabPane } from '@12333/components';
 import { RouterPath } from '@/constants';
-import { useInfiniteLoading } from '@12333/hooks';
-import { OrderInputType } from '@12333/constants';
-import * as orderServices from '@12333/services/api/Order';
-import { TaskStatus } from '@/constants/task';
+import { EnumTaskReleaseStatus, BillingMethodEnumUnit } from '@12333/constants';
 import Taro from '@tarojs/taro';
+import { Message } from '@12333/utils';
+import * as taskServices from '@12333/services/apiV2/task';
+import { useTaskList } from '@12333/hooks';
 
 defineOptions({
   name: 'InnerPage',
 });
 
-const queryState = reactive({
-  mineHireType: TaskStatus.All,
+const { queryMenuState, infiniteLoadingProps, invalidateQueries } = useTaskList();
+
+const releaseing = computed(() => {
+  return infiniteLoadingProps.value?.listData?.pages?.[0]?.objectData?.inProcessReleaseCount ?? 0;
+});
+const stoping = computed(() => {
+  return infiniteLoadingProps.value?.listData?.pages?.[0]?.objectData?.stoppedReleaseCount ?? 0;
 });
 
-const { infiniteLoadingProps } = useInfiniteLoading(
-  ({ pageParam }) => {
-    let params: API.FrontOrderListInput = {
-      pageModel: {
-        rows: 20,
-        page: pageParam,
-        orderInput: [{ property: 'isRecommend', order: OrderInputType.Desc }],
-      },
+async function handleChangeStatus(
+  item: API.GetTaskInfosQueryResultItem,
+  releaseStatus: EnumTaskReleaseStatus
+) {
+  try {
+    let params: API.SetTaskInfoReleaseStatusCommand = {
+      ids: [item.id],
+      releaseStatus: releaseStatus,
     };
+    let res = await taskServices.setTaskInfoReleaseStatus(params);
+    if (res) {
+      Message.success('鎿嶄綔鎴愬姛');
+      invalidateQueries();
+    }
+  } catch (error) {}
+}
 
-    return orderServices.getFrontOrderList(params, {
-      showLoading: false,
+async function handleDelete(item: API.GetTaskInfosQueryResultItem) {
+  try {
+    await Message.confirm({
+      message: '纭畾瑕佸垹闄ゅ悧锛�',
     });
-  },
-  {
-    queryKey: ['orderServices/getFrontOrderList'],
-  }
-);
+    let params: API.DeleteTaskInfoCommand = {
+      ids: [item.id],
+    };
+    let res = await taskServices.deleteTaskInfo(params);
+    if (res) {
+      Message.success('鍒犻櫎鎴愬姛');
+      invalidateQueries();
+    }
+  } catch (error) {}
+}
 
-function goPage(routeName: string) {
+function goEdit(item: API.GetTaskInfosQueryResultItem, isCopy = false) {
   Taro.navigateTo({
-    url: routeName,
+    url: `${RouterPath.publishTask}?taskId=${item.id}&isCopy=${isCopy}`,
   });
 }
-
-function goEdit() {
-  goPage(RouterPath.publishTask);
-}
-function goDetail() {
-  goPage(RouterPath.jobApplicationDetail);
+function goDetail(item: API.GetTaskInfosQueryResultItem) {
+  Taro.navigateTo({
+    url: `${RouterPath.jobApplicationDetail}?taskId=${item.id}`,
+  });
 }
 </script>
 
 <style lang="scss">
 @import '@/styles/common.scss';
-
-// .jobApplicationManage-page-wrapper {
-// }
 </style>

--
Gitblit v1.9.1