From fb243f3345c6f3ed7e7c8c2d98c39b5afc782b9a Mon Sep 17 00:00:00 2001
From: wupengfei <834520024@qq.com>
Date: 星期一, 20 十月 2025 10:24:40 +0800
Subject: [PATCH] Merge branch 'master' of http://120.26.58.240:8888/r/flexJobMiniApp
---
apps/bMiniApp/src/subpackages/payrollManage/payrollManage/InnerPage.vue | 134 +++++++++++++++++++++++++++++++++-----------
1 files changed, 100 insertions(+), 34 deletions(-)
diff --git a/apps/bMiniApp/src/subpackages/payrollManage/payrollManage/InnerPage.vue b/apps/bMiniApp/src/subpackages/payrollManage/payrollManage/InnerPage.vue
index 3647a1d..317f62a 100644
--- a/apps/bMiniApp/src/subpackages/payrollManage/payrollManage/InnerPage.vue
+++ b/apps/bMiniApp/src/subpackages/payrollManage/payrollManage/InnerPage.vue
@@ -1,6 +1,6 @@
<template>
<ProTabs
- v-model="queryMenuState.status"
+ v-model="queryState.paymentStatus"
name="task-tab"
:showPaneContent="false"
class="task-tabs"
@@ -8,74 +8,140 @@
title-gutter="8"
title-scroll
>
- <ProTabPane :title="`寰呭鏍�(${waitAssignCount})`" :pane-key="EnumTaskStatus.Wait"></ProTabPane>
<ProTabPane
- :title="`宸插鏍�(${completedAssignCount})`"
- :pane-key="EnumTaskStatus.Complete"
+ :title="`寰呭鏍�(${waitAuditCount})`"
+ :pane-key="GetSettlementTasksQueryPaymentStatus.WaitAudit"
></ProTabPane>
<ProTabPane
- :title="`宸插彂鏀�(${completedAssignCount})`"
- :pane-key="EnumTaskStatus.Complete"
+ :title="`宸插鏍�(${completedAuditCount})`"
+ :pane-key="GetSettlementTasksQueryPaymentStatus.CompletedAudit"
+ ></ProTabPane>
+ <ProTabPane
+ :title="`宸插彂鏀�(${completedReleaseCount})`"
+ :pane-key="GetSettlementTasksQueryPaymentStatus.CompletedRelease"
></ProTabPane>
</ProTabs>
<InfiniteLoading
scrollViewClassName="common-infinite-scroll-list"
v-bind="infiniteLoadingProps"
- :key="queryMenuState.status"
+ :key="queryState.paymentStatus"
>
<template #renderItem="{ item }">
<IncomeDetailListItem
- :title="item.name"
- :funds="100"
- :item="dayjs(item.createdTime).format('YYYY-MM-DD HH:mm:ss')"
- :value="`閽卞寘浣欓锛�${toThousand(item.serviceFee)}`"
- @click="goPayrollManageDetail(item)"
+ :title="item.code"
+ :funds="item.settlementAmount"
+ :item="item.settlementTime ? dayjs(item.settlementTime).format('YYYY-MM-DD HH:mm:ss') : ''"
+ @click="openPassword(item)"
>
</IncomeDetailListItem>
</template>
</InfiniteLoading>
+ <nut-short-password
+ v-model="form.password"
+ v-model:visible="form.passwordVisible"
+ @focus="form.showKeyboard = true"
+ tips="璇疯緭鍏�6浣嶆搷浣滃瘑鐮�"
+ desc="鏄庣粏闇�杈撳叆鎿嶄綔瀵嗙爜鎵嶈兘鏌ョ湅"
+ :length="6"
+ @complete="complete"
+ >
+ </nut-short-password>
+ <nut-number-keyboard
+ v-model="form.password"
+ v-model:visible="form.showKeyboard"
+ @blur="form.showKeyboard = false"
+ >
+ </nut-number-keyboard>
</template>
<script setup lang="ts">
import { ProTabs, ProTabPane, IncomeDetailListItem } from '@12333/components';
import Taro from '@tarojs/taro';
import dayjs from 'dayjs';
-import { toThousand } from '@12333/utils';
-import { EnumTaskStatus } from '@12333/constants';
-import { useTaskList } from '@12333/hooks';
+import { GetSettlementTasksQueryPaymentStatus, EnumPagedListOrder } from '@12333/constants';
+import * as taskServices from '@12333/services/apiV2/task';
+import * as userServices from '@12333/services/apiV2/user';
+import { useInfiniteLoading } from '@12333/hooks';
defineOptions({
name: 'InnerPage',
});
-const { queryMenuState, infiniteLoadingProps } = useTaskList({
- defaultQueryMenuState: {
- status: EnumTaskStatus.Wait,
+const form = reactive({
+ password: '',
+ passwordVisible: false,
+ showKeyboard: false,
+ id: '',
+});
+
+const queryState = reactive({
+ paymentStatus: GetSettlementTasksQueryPaymentStatus.WaitAudit,
+});
+
+const { infiniteLoadingProps, invalidateQueries } = useInfiniteLoading(
+ ({ pageParam }) => {
+ let params: API.GetSettlementTasksQuery = {
+ pageModel: {
+ rows: 20,
+ page: pageParam,
+ orderInput: [{ property: 'id', order: EnumPagedListOrder.Desc }],
+ },
+ paymentStatus: queryState.paymentStatus,
+ };
+ return taskServices.getSettlementTasks(params, {
+ showLoading: false,
+ });
},
+ {
+ queryKey: ['taskServices/getSettlementTasks', queryState],
+ }
+);
+
+const completedAuditCount = computed(() => {
+ return infiniteLoadingProps.value?.listData?.pages?.[0]?.objectData?.completedAuditCount ?? 0;
+});
+const waitAuditCount = computed(() => {
+ return infiniteLoadingProps.value?.listData?.pages?.[0]?.objectData?.waitAuditCount ?? 0;
+});
+const completedReleaseCount = computed(() => {
+ return infiniteLoadingProps.value?.listData?.pages?.[0]?.objectData?.completedReleaseCount ?? 0;
});
-const completedAssignCount = computed(() => {
- return infiniteLoadingProps.value?.listData?.pages?.[0]?.objectData?.completedAssignCount ?? 0;
-});
-const waitAssignCount = computed(() => {
- return infiniteLoadingProps.value?.listData?.pages?.[0]?.objectData?.waitAssignCount ?? 0;
-});
+function openPassword(item: API.GetSettlementTasksQueryResultItem) {
+ form.passwordVisible = true;
+ form.showKeyboard = true;
+ form.id = item.id;
+}
-function goPayrollManageDetail(item: API.GetTaskInfosQueryResultItem) {
+function complete(value: string) {
+ form.passwordVisible = false;
+ buildOperatorToken(value);
+}
+
+async function buildOperatorToken(value: string) {
+ try {
+ let params: API.BuildOperatorTokenCommand = {
+ password: value,
+ };
+ let res = await userServices.buildOperatorToken(params);
+ if (res) {
+ goPayrollManageDetail(form.id, res.operatorToken);
+ }
+ } catch (error) {
+ form.showKeyboard = false;
+ } finally {
+ form.password = '';
+ form.showKeyboard = false;
+ }
+}
+
+async function goPayrollManageDetail(id: string, operatorToken: string) {
Taro.navigateTo({
- url: `${RouterPath.payrollManageDetail}?id=${
- item.id
- }&date=${'Fri Oct 17 2025 18:49:01 GMT+0800'}`,
+ url: `${RouterPath.payrollManageDetail}?id=${id}&operatorToken=${operatorToken}`,
});
}
</script>
<style lang="scss">
@import '@/styles/common.scss';
-
-.taskManage-page-wrapper {
- .dark-btn {
- margin-left: 12px;
- }
-}
</style>
--
Gitblit v1.9.1