From 600a0319374e7ff53f801777d3dca25951cac1ca Mon Sep 17 00:00:00 2001
From: wupengfei <834520024@qq.com>
Date: 星期二, 21 十月 2025 16:08:50 +0800
Subject: [PATCH] fix: bug
---
apps/cMiniApp/src/subpackages/mine/mineHired/mineHired.config.ts | 3
apps/cMiniApp/src/subpackages/wallet/bindBankCard/InnerPage.vue | 10 +-
apps/cMiniApp/src/subpackages/wallet/bindAlipay/InnerPage.vue | 8 +
packages/services/apiV2/electronSign.ts | 15 +++
apps/cMiniApp/src/constants/router.ts | 1
apps/cMiniApp/src/subpackages/mine/mineHire/mineHire.vue | 2
apps/cMiniApp/src/subpackages/mine/mineHired/mineHired.vue | 17 ++++
packages/services/apiV2/typings.d.ts | 13 ++
apps/cMiniApp/src/app.config.ts | 1
apps/cMiniApp/src/subpackages/mine/mineHired/InnerPage.vue | 111 +++++++++++++++++++++++++++
apps/cMiniApp/src/subpackages/mine/mineHire/InnerPage.vue | 12 +-
apps/cMiniApp/src/pages/mine/index.vue | 25 +++++
12 files changed, 200 insertions(+), 18 deletions(-)
diff --git a/apps/cMiniApp/src/app.config.ts b/apps/cMiniApp/src/app.config.ts
index daac73e..fa41cff 100644
--- a/apps/cMiniApp/src/app.config.ts
+++ b/apps/cMiniApp/src/app.config.ts
@@ -77,6 +77,7 @@
pages: [
'mineSign/mineSign',
'mineHire/mineHire',
+ 'mineHired/mineHired',
'mineCancel/mineCancel',
'mineCollectTask/mineCollectTask',
'mineAgreementSign/mineAgreementSign',
diff --git a/apps/cMiniApp/src/constants/router.ts b/apps/cMiniApp/src/constants/router.ts
index 9ec415c..ad70779 100644
--- a/apps/cMiniApp/src/constants/router.ts
+++ b/apps/cMiniApp/src/constants/router.ts
@@ -33,6 +33,7 @@
mineSign = '/subpackages/mine/mineSign/mineSign',
mineHire = '/subpackages/mine/mineHire/mineHire',
+ mineHired = '/subpackages/mine/mineHired/mineHired',
mineCancel = '/subpackages/mine/mineCancel/mineCancel',
mineCollectTask = '/subpackages/mine/mineCollectTask/mineCollectTask',
mineAgreementSign = '/subpackages/mine/mineAgreementSign/mineAgreementSign',
diff --git a/apps/cMiniApp/src/pages/mine/index.vue b/apps/cMiniApp/src/pages/mine/index.vue
index 3dc8ac2..2eb33ed 100644
--- a/apps/cMiniApp/src/pages/mine/index.vue
+++ b/apps/cMiniApp/src/pages/mine/index.vue
@@ -95,9 +95,27 @@
@click="goMineSign"
>
<img :src="IconOrderSign" class="mine-order-list-icon" />
- <div class="mine-order-list-text">鎴戠殑鎶ュ悕</div>
+ <div class="mine-order-list-text">宸叉姤鍚�</div>
</nut-badge>
<nut-badge
+ class="mine-order-list-item"
+ top="8"
+ :value="userDetail?.inProcessTaskCount ?? 0"
+ @click="goMineHire"
+ >
+ <img :src="IconOrderHire" class="mine-order-list-icon" />
+ <div class="mine-order-list-text">浠诲姟涓�</div>
+ </nut-badge>
+ <nut-badge
+ class="mine-order-list-item"
+ top="8"
+ :value="userDetail?.hirePassTaskCount ?? 0"
+ @click="goMineHired"
+ >
+ <img :src="IconOrderHire" class="mine-order-list-icon" />
+ <div class="mine-order-list-text">宸插綍鐢�</div>
+ </nut-badge>
+ <!-- <nut-badge
class="mine-order-list-item"
top="8"
:value="userDetail?.hirePassTaskCount ?? 0"
@@ -114,7 +132,7 @@
>
<img :src="IconOrderCancel" class="mine-order-list-icon" />
<div class="mine-order-list-text">宸插彇娑�</div>
- </nut-badge>
+ </nut-badge> -->
</div>
</List>
<List class="mine-list-wrapper mine-setting-list">
@@ -215,6 +233,9 @@
function goMineCancel() {
goPage(RouterPath.mineCancel);
}
+function goMineHired() {
+ goPage(RouterPath.mineHired);
+}
function goMineCollectTask() {
goPage(RouterPath.mineCollectTask);
}
diff --git a/apps/cMiniApp/src/subpackages/mine/mineHire/InnerPage.vue b/apps/cMiniApp/src/subpackages/mine/mineHire/InnerPage.vue
index 95d9666..03230f5 100644
--- a/apps/cMiniApp/src/subpackages/mine/mineHire/InnerPage.vue
+++ b/apps/cMiniApp/src/subpackages/mine/mineHire/InnerPage.vue
@@ -1,5 +1,5 @@
<template>
- <ProTabs
+ <!-- <ProTabs
v-model="queryState.status"
name="home-tab"
:showPaneContent="false"
@@ -18,7 +18,7 @@
:title="`宸插畬鎴恅"
:pane-key="GetPersonalHireTaskInfosQueryStatus.Completed"
></ProTabPane>
- </ProTabs>
+ </ProTabs> -->
<InfiniteLoading
scrollViewClassName="common-infinite-scroll-list home-list"
v-bind="infiniteLoadingProps"
@@ -57,6 +57,7 @@
GetPersonalHireTaskInfosQueryStatus,
GetPersonalHireTaskInfosQueryStatusText,
GetPersonalHireTaskInfosQueryStatusColor,
+ EnumTaskUserArrangeStatus,
} from '@12333/constants';
import * as taskServices from '@12333/services/apiV2/task';
import Taro from '@tarojs/taro';
@@ -77,10 +78,11 @@
page: pageParam,
orderInput: [{ property: 'id', order: EnumPagedListOrder.Desc }],
},
+ arrangeStatus: EnumTaskUserArrangeStatus.Complete,
};
- if (Number(queryState.status)) {
- params.status = queryState.status;
- }
+ // if (Number(queryState.status)) {
+ // params.status = queryState.status;
+ // }
return taskServices.getPersonalHireTaskInfos(params, {
showLoading: false,
});
diff --git a/apps/cMiniApp/src/subpackages/mine/mineHire/mineHire.vue b/apps/cMiniApp/src/subpackages/mine/mineHire/mineHire.vue
index 8e27308..30a41f3 100644
--- a/apps/cMiniApp/src/subpackages/mine/mineHire/mineHire.vue
+++ b/apps/cMiniApp/src/subpackages/mine/mineHire/mineHire.vue
@@ -1,5 +1,5 @@
<template>
- <PageLayoutWithBg class="mineHire-page-wrapper" :title="'宸插畨鎺�'">
+ <PageLayoutWithBg class="mineHire-page-wrapper" :title="'浠诲姟涓�'">
<InnerPage></InnerPage>
</PageLayoutWithBg>
</template>
diff --git a/apps/cMiniApp/src/subpackages/mine/mineHired/InnerPage.vue b/apps/cMiniApp/src/subpackages/mine/mineHired/InnerPage.vue
new file mode 100644
index 0000000..6bd3a03
--- /dev/null
+++ b/apps/cMiniApp/src/subpackages/mine/mineHired/InnerPage.vue
@@ -0,0 +1,111 @@
+<template>
+ <!-- <ProTabs
+ v-model="queryState.status"
+ name="home-tab"
+ :showPaneContent="false"
+ class="home-tabs"
+ isTransparent
+ title-gutter="12"
+ title-scroll
+ >
+ <ProTabPane :title="`鍏ㄩ儴`" :pane-key="0"></ProTabPane>
+ <ProTabPane :title="`寰呭紑濮媊" :pane-key="GetPersonalHireTaskInfosQueryStatus.Wait"></ProTabPane>
+ <ProTabPane
+ :title="`杩涜涓璥"
+ :pane-key="GetPersonalHireTaskInfosQueryStatus.InProcess"
+ ></ProTabPane>
+ <ProTabPane
+ :title="`宸插畬鎴恅"
+ :pane-key="GetPersonalHireTaskInfosQueryStatus.Completed"
+ ></ProTabPane>
+ </ProTabs> -->
+ <InfiniteLoading
+ scrollViewClassName="common-infinite-scroll-list home-list"
+ v-bind="infiniteLoadingProps"
+ :key="queryState.status"
+ >
+ <template #renderItem="{ item }">
+ <TaskCard
+ :name="item.name"
+ :begin-time="item.beginTime"
+ :end-time="item.endTime"
+ :billing-method="item.billingMethod"
+ :benefits="item.benefits"
+ :service-fee="item.serviceFee"
+ :settlement-cycle="item.settlementCycle"
+ :address-name="item.addressName"
+ @click="goTaskDetail(item)"
+ >
+ <template #actions>
+ <div
+ class="task-card-actions-text"
+ :style="{ color: GetPersonalHireTaskInfosQueryStatusColor[item.status] }"
+ >
+ {{ GetPersonalHireTaskInfosQueryStatusText[item.status] }}
+ </div>
+ </template>
+ </TaskCard>
+ </template>
+ </InfiniteLoading>
+</template>
+
+<script setup lang="ts">
+import { TaskCard, ProTabs, ProTabPane } from '@12333/components';
+import { useInfiniteLoading } from '@12333/hooks';
+import {
+ EnumPagedListOrder,
+ GetPersonalHireTaskInfosQueryStatus,
+ GetPersonalHireTaskInfosQueryStatusText,
+ GetPersonalHireTaskInfosQueryStatusColor,
+ EnumTaskUserHireStatus,
+} from '@12333/constants';
+import * as taskServices from '@12333/services/apiV2/task';
+import Taro from '@tarojs/taro';
+
+defineOptions({
+ name: 'InnerPage',
+});
+
+const queryState = reactive({
+ status: 0 as any as GetPersonalHireTaskInfosQueryStatus,
+});
+
+const { infiniteLoadingProps } = useInfiniteLoading(
+ ({ pageParam }) => {
+ let params: API.GetPersonalHireTaskInfosQuery = {
+ pageModel: {
+ rows: 20,
+ page: pageParam,
+ orderInput: [{ property: 'id', order: EnumPagedListOrder.Desc }],
+ },
+ hireStatus: EnumTaskUserHireStatus.Pass,
+ };
+ // if (Number(queryState.status)) {
+ // params.status = queryState.status;
+ // }
+ return taskServices.getPersonalHireTaskInfos(params, {
+ showLoading: false,
+ });
+ },
+ {
+ queryKey: ['taskServices/getPersonalHireTaskInfos', queryState],
+ }
+);
+
+function goTaskDetail(item: API.GetPersonalHireTaskInfosQueryResultItem) {
+ Taro.navigateTo({
+ url: `${RouterPath.taskDetail}?id=${item.id}`,
+ });
+}
+</script>
+
+<style lang="scss">
+@import '@/styles/common.scss';
+
+.mineHired-page-wrapper {
+ .task-card-actions-text {
+ font-size: 24px;
+ line-height: 42px;
+ }
+}
+</style>
diff --git a/apps/cMiniApp/src/subpackages/mine/mineHired/mineHired.config.ts b/apps/cMiniApp/src/subpackages/mine/mineHired/mineHired.config.ts
new file mode 100644
index 0000000..305fdb1
--- /dev/null
+++ b/apps/cMiniApp/src/subpackages/mine/mineHired/mineHired.config.ts
@@ -0,0 +1,3 @@
+export default definePageConfig({
+ disableScroll: true,
+});
diff --git a/apps/cMiniApp/src/subpackages/mine/mineHired/mineHired.vue b/apps/cMiniApp/src/subpackages/mine/mineHired/mineHired.vue
new file mode 100644
index 0000000..855ba32
--- /dev/null
+++ b/apps/cMiniApp/src/subpackages/mine/mineHired/mineHired.vue
@@ -0,0 +1,17 @@
+<template>
+ <PageLayoutWithBg class="mineHired-page-wrapper" :title="'宸插綍鐢�'">
+ <InnerPage></InnerPage>
+ </PageLayoutWithBg>
+</template>
+
+<script setup lang="ts">
+import InnerPage from './InnerPage.vue';
+
+defineOptions({
+ name: 'mineHired',
+});
+</script>
+
+<style lang="scss">
+@import '@/styles/common.scss';
+</style>
diff --git a/apps/cMiniApp/src/subpackages/wallet/bindAlipay/InnerPage.vue b/apps/cMiniApp/src/subpackages/wallet/bindAlipay/InnerPage.vue
index eddc800..48f2006 100644
--- a/apps/cMiniApp/src/subpackages/wallet/bindAlipay/InnerPage.vue
+++ b/apps/cMiniApp/src/subpackages/wallet/bindAlipay/InnerPage.vue
@@ -12,12 +12,15 @@
import { EnumUserBankCardAccess } from '@12333/constants';
import { BindWalletView } from '@12333/components';
import { usePersonalUserBankCard } from '../hooks';
+import { goBack } from '@/utils';
defineOptions({
name: 'InnerPage',
});
const switchTab = useSwitchTab();
+
+const { updateUserInfo } = useUser();
const { detail } = usePersonalUserBankCard({
access: EnumUserBankCardAccess.AliPay,
@@ -33,9 +36,8 @@
if (res) {
Message.success('瑙g粦鎴愬姛', {
onClosed() {
- switchTab({
- url: RouterPath.mine,
- });
+ updateUserInfo();
+ goBack();
},
});
}
diff --git a/apps/cMiniApp/src/subpackages/wallet/bindBankCard/InnerPage.vue b/apps/cMiniApp/src/subpackages/wallet/bindBankCard/InnerPage.vue
index b43adc1..287d3a3 100644
--- a/apps/cMiniApp/src/subpackages/wallet/bindBankCard/InnerPage.vue
+++ b/apps/cMiniApp/src/subpackages/wallet/bindBankCard/InnerPage.vue
@@ -1,6 +1,6 @@
<template>
<BindWalletView
- :type="EnumUserBankCardAccess.AliPay"
+ :type="EnumUserBankCardAccess.Bank"
:detail="detail"
@Unbind="handleUnbind"
></BindWalletView>
@@ -12,12 +12,13 @@
import { EnumUserBankCardAccess } from '@12333/constants';
import { BindWalletView } from '@12333/components';
import { usePersonalUserBankCard } from '../hooks';
+import { goBack } from '@/utils';
defineOptions({
name: 'InnerPage',
});
-const switchTab = useSwitchTab();
+const { updateUserInfo } = useUser();
const { detail } = usePersonalUserBankCard({
access: EnumUserBankCardAccess.Bank,
@@ -33,9 +34,8 @@
if (res) {
Message.success('瑙g粦鎴愬姛', {
onClosed() {
- switchTab({
- url: RouterPath.mine,
- });
+ updateUserInfo();
+ goBack();
},
});
}
diff --git a/packages/services/apiV2/electronSign.ts b/packages/services/apiV2/electronSign.ts
index 40af0af..e7d5a93 100644
--- a/packages/services/apiV2/electronSign.ts
+++ b/packages/services/apiV2/electronSign.ts
@@ -32,6 +32,21 @@
});
}
+/** 鏍¢獙鍚堝悓妯℃澘涓氬姟缂栧彿鏄惁瀛樺湪 POST /api/user/electronSign/checkExistContractTemplateCode */
+export async function checkExistContractTemplateCode(
+ body: API.CheckExistContractTemplateCodeCommand,
+ options?: API.RequestConfig
+) {
+ return request<boolean>('/api/user/electronSign/checkExistContractTemplateCode', {
+ method: 'POST',
+ headers: {
+ 'Content-Type': 'application/json-patch+json',
+ },
+ data: body,
+ ...(options || {}),
+ });
+}
+
/** 鐢靛瓙绛惧洖浼� POST /api/user/electronSign/electronSignCallback */
export async function electronSignCallback(
body: API.ElectronSignCallbackCommand,
diff --git a/packages/services/apiV2/typings.d.ts b/packages/services/apiV2/typings.d.ts
index 57302ba..943e9cc 100644
--- a/packages/services/apiV2/typings.d.ts
+++ b/packages/services/apiV2/typings.d.ts
@@ -459,6 +459,13 @@
accesses?: EnumElectronSignAccess[];
}
+ interface CheckExistContractTemplateCodeCommand {
+ /** 妯℃澘Id锛堢紪杈戞椂浼犲叆锛� */
+ id?: string;
+ /** 涓氬姟缂栧彿 */
+ code: string;
+ }
+
type CheckHealthQuery = Record<string, any>;
interface CheckOperatorTokenCommand {
@@ -5054,6 +5061,8 @@
}
interface GetPersonalHireTaskInfosQuery {
+ hireStatus?: EnumTaskUserHireStatus;
+ arrangeStatus?: EnumTaskUserArrangeStatus;
status?: GetPersonalHireTaskInfosQueryStatus;
pageModel?: PagedListQueryPageModel;
}
@@ -6696,14 +6705,14 @@
identity?: string;
/** 鎵嬫満鍙� */
contactPhoneNumber?: string;
+ /** 绱宸ユ椂 */
+ totalWorkHours?: number;
/** 鎵�灞為摱琛� */
bank?: string;
/** 鎵�灞炴敮琛� */
bankBranch?: string;
/** 鏀舵璐︽埛 */
receiveAccount?: string;
- /** 绱宸ユ椂 */
- totalWorkHours?: number;
/** 缁撶畻閲戦 */
settlementAmount?: number;
/** 瀹炲彂閲戦 */
--
Gitblit v1.9.1