From b6cd12914a60f09260efdbc889015ddfda676de6 Mon Sep 17 00:00:00 2001
From: zhengyiming <540361168@qq.com>
Date: 星期五, 22 八月 2025 09:41:40 +0800
Subject: [PATCH] Merge branch 'master' of http://120.26.58.240:8888/r/flexJobMiniApp
---
apps/cMiniApp/src/subpackages/task/taskCheckDetail/InnerPage.vue | 32 ++
apps/cMiniApp/src/subpackages/mine/mineAgreementSign/InnerPage.vue | 33 -
packages/services/apiV2/ocrUtils.ts | 43 ++
apps/bMiniApp/.eslintrc-auto-import.json | 3
apps/cMiniApp/src/subpackages/wallet/unboundBankCard/InnerPage.vue | 7
apps/cMiniApp/src/subpackages/authentication/extraPage/extraPage.vue | 5
apps/cMiniApp/src/subpackages/mine/mineAgreementSignDetail/InnerPage.vue | 2
apps/bMiniApp/auto-imports.d.ts | 1
apps/cMiniApp/src/subpackages/wallet/mineWallet/InnerPage.vue | 21
apps/cMiniApp/src/subpackages/wallet/mineWallet/mineWallet.vue | 2
apps/cMiniApp/src/subpackages/task/taskDetail/InnerPage.vue | 13
packages/components/src/Card/MineAgreementSignCard.vue | 35 -
apps/cMiniApp/src/hooks/access.ts | 12
apps/cMiniApp/src/subpackages/authentication/authenticationRealName/InnerPage.vue | 26 +
packages/services/apiV2/index.ts | 4
apps/cMiniApp/src/subpackages/mine/mineAgreementSign/mineAgreementSign.vue | 2
apps/cMiniApp/src/subpackages/wallet/incomeDetail/incomeDetail.vue | 2
packages/services/apiV2/electronSign.ts | 99 +++++++
apps/cMiniApp/src/subpackages/wallet/incomeDetail/InnerPage.vue | 11
packages/services/apiV2/typings.d.ts | 384 ++++++++++++++++++++++++++
packages/constants/apiEnum.ts | 34 ++
packages/hooks/identify.ts | 41 +-
22 files changed, 692 insertions(+), 120 deletions(-)
diff --git a/apps/bMiniApp/.eslintrc-auto-import.json b/apps/bMiniApp/.eslintrc-auto-import.json
index be7295f..8d2ca3b 100644
--- a/apps/bMiniApp/.eslintrc-auto-import.json
+++ b/apps/bMiniApp/.eslintrc-auto-import.json
@@ -120,6 +120,7 @@
"EnumTaskStatus": true,
"EnumUserGender": true,
"EnumUserStatus": true,
- "EnumUserType": true
+ "EnumUserType": true,
+ "useAccessAuthentication": true
}
}
diff --git a/apps/bMiniApp/auto-imports.d.ts b/apps/bMiniApp/auto-imports.d.ts
index 92fbd7a..a16c0b0 100644
--- a/apps/bMiniApp/auto-imports.d.ts
+++ b/apps/bMiniApp/auto-imports.d.ts
@@ -91,6 +91,7 @@
const toValue: typeof import('vue')['toValue']
const triggerRef: typeof import('vue')['triggerRef']
const unref: typeof import('vue')['unref']
+ const useAccessAuthentication: typeof import('./src/hooks/access')['useAccessAuthentication']
const useAccessLogin: typeof import('./src/hooks/access')['useAccessLogin']
const useAttrs: typeof import('vue')['useAttrs']
const useAuth: typeof import('./src/hooks/user')['useAuth']
diff --git a/apps/cMiniApp/src/hooks/access.ts b/apps/cMiniApp/src/hooks/access.ts
index 1631ceb..66a110b 100644
--- a/apps/cMiniApp/src/hooks/access.ts
+++ b/apps/cMiniApp/src/hooks/access.ts
@@ -24,12 +24,20 @@
return _fn as T;
}
-export function useAccessReal<T extends (...args: any[]) => any>(fn: T) {
+type UseAccessRealOptions = {
+ message?: string;
+};
+
+export function useAccessReal<T extends (...args: any[]) => any>(
+ fn: T,
+ options: UseAccessRealOptions = { message: '璇峰墠寰�瀹炲悕璁よ瘉' }
+) {
+ const { message } = options;
const { isCertified } = useUser();
const _fn = useAccessLogin((...args2) => {
if (!isCertified.value) {
- Message.confirm({ message: '璇峰墠寰�瀹炲悕璁よ瘉' }).then(() => {
+ Message.confirm({ message: message }).then(() => {
Taro.navigateTo({
url: `${RouterPath.authenticationHome}`,
});
diff --git a/apps/cMiniApp/src/subpackages/authentication/authenticationRealName/InnerPage.vue b/apps/cMiniApp/src/subpackages/authentication/authenticationRealName/InnerPage.vue
index f1c3fe3..277373a 100644
--- a/apps/cMiniApp/src/subpackages/authentication/authenticationRealName/InnerPage.vue
+++ b/apps/cMiniApp/src/subpackages/authentication/authenticationRealName/InnerPage.vue
@@ -10,6 +10,7 @@
:limitFileSize="10"
class="bole-uploader nopaddingtop"
@my-success="handleFrontImgUrlChange"
+ @delete="handleFrontImgUrlDelete"
>
<template #upload-icon>
<div class="photograph-wrapper">
@@ -99,6 +100,8 @@
import { FormRules } from '@nutui/nutui-taro/dist/types/__VUE/form/types';
import { FormValidator } from '@12333/utils';
import Taro from '@tarojs/taro';
+import { userCredentialVerifyOcrIDCard } from '@12333/hooks';
+import { EnumOcrAccess } from '@12333/constants';
defineOptions({
name: 'InnerPage',
@@ -150,16 +153,18 @@
}
function handleFrontImgUrlChange(response: FileItem) {
- // userCredentialVerifyOcrIDCard(response, {
- // onSuccess(res) {
- // if (res.realName) form.legalPersonName = res.realName;
- // if (res.idcardNum) form.legalPersonIdNumber = res.idcardNum;
- // },
- // });
+ userCredentialVerifyOcrIDCard({
+ response: response,
+ access: EnumOcrAccess.Baidu,
+ isOssUrl: true,
+ onSuccess(res) {
+ if (res.model?.name) form.name = res.model?.name;
+ if (res.model?.identity) form.identity = res.model?.identity;
+ },
+ });
}
function handleSubmit() {
- console.log('type: ', type);
if (!formRef.value) return;
formRef.value.validate().then(({ valid, errors }: any) => {
if (valid) {
@@ -209,6 +214,13 @@
}
} catch (error) {}
}
+
+function handleFrontImgUrlDelete({ files, fileList, index }) {
+ if (fileList?.length === 0) {
+ form.name = '';
+ form.identity = '';
+ }
+}
</script>
<style lang="scss">
diff --git a/apps/cMiniApp/src/subpackages/authentication/extraPage/extraPage.vue b/apps/cMiniApp/src/subpackages/authentication/extraPage/extraPage.vue
index 72ae572..b6db03c 100644
--- a/apps/cMiniApp/src/subpackages/authentication/extraPage/extraPage.vue
+++ b/apps/cMiniApp/src/subpackages/authentication/extraPage/extraPage.vue
@@ -1,6 +1,5 @@
<template>
- <!-- web-view 缁勪欢鐢ㄤ簬鍔犺浇澶栭儴閾炬帴 -->
- <web-view :src="urla" />
+ <web-view :src="urlLink" />
</template>
<script setup lang="ts">
@@ -14,5 +13,5 @@
const url = (router.params.url as string) ?? '';
-const urla = computed(() => decodeURIComponent(url));
+const urlLink = computed(() => decodeURIComponent(url));
</script>
diff --git a/apps/cMiniApp/src/subpackages/mine/mineAgreementSign/InnerPage.vue b/apps/cMiniApp/src/subpackages/mine/mineAgreementSign/InnerPage.vue
index 7909b96..a2a8fdd 100644
--- a/apps/cMiniApp/src/subpackages/mine/mineAgreementSign/InnerPage.vue
+++ b/apps/cMiniApp/src/subpackages/mine/mineAgreementSign/InnerPage.vue
@@ -19,13 +19,7 @@
:key="queryState.mineAgreementSignType"
>
<template #renderItem="{ item }">
- <MineAgreementSignCard @click="goDetail">
- <template #actions>
- <div class="task-card-actions-text" :style="{ color: TaskStatusColor[10] }">
- {{ TaskStatusText[10] }}
- </div>
- </template>
- </MineAgreementSignCard>
+ <MineAgreementSignCard @click="goDetail"> </MineAgreementSignCard>
</template>
</InfiniteLoading>
</template>
@@ -33,10 +27,10 @@
<script setup lang="ts">
import { MineAgreementSignCard, ProTabs, ProTabPane } from '@12333/components';
import { useUserStore } from '@/stores/modules/user';
-import { TaskStatusText, TaskStatusColor, TaskStatus } from '@/constants';
+import { TaskStatus } from '@/constants';
import { useInfiniteLoading } from '@12333/hooks';
-import { OrderInputType } from '@12333/constants';
-import * as flexWorkerServices from '@12333/services/api/FlexWorker';
+import { EnumPagedListOrder } from '@12333/constants';
+import * as taskServices from '@12333/services/apiV2/task';
import Taro from '@tarojs/taro';
defineOptions({
@@ -55,20 +49,16 @@
pageModel: {
rows: 20,
page: pageParam,
- orderInput: [
- queryState.mineAgreementSignType === TaskStatus.All
- ? { property: 'creationTime', order: OrderInputType.Desc }
- : { property: 'lastShelfTime', order: OrderInputType.Desc },
- ],
+ orderInput: [{ property: 'id', order: EnumPagedListOrder.Desc }],
},
};
- return flexWorkerServices.getFlexTaskByArrange(params, {
+ return taskServices.getPersonalHireTaskInfos(params, {
showLoading: false,
});
},
{
- queryKey: ['flexWorkerServices/getFlexTaskByArrange', queryState],
+ queryKey: ['taskServices/getPersonalHireTaskInfos', queryState],
}
);
@@ -82,10 +72,7 @@
<style lang="scss">
@import '@/styles/common.scss';
-.mineAgreementSign-page-wrapper {
- .task-card-actions-text {
- font-size: 24px;
- line-height: 42px;
- }
-}
+// .mineAgreementSign-page-wrapper {
+//
+// }
</style>
diff --git a/apps/cMiniApp/src/subpackages/mine/mineAgreementSign/mineAgreementSign.vue b/apps/cMiniApp/src/subpackages/mine/mineAgreementSign/mineAgreementSign.vue
index cbb5fe1..3bf5d51 100644
--- a/apps/cMiniApp/src/subpackages/mine/mineAgreementSign/mineAgreementSign.vue
+++ b/apps/cMiniApp/src/subpackages/mine/mineAgreementSign/mineAgreementSign.vue
@@ -1,5 +1,5 @@
<template>
- <PageLayoutWithBg class="mineAgreementSign-page-wrapper" :title="'鍗忚绛剧害'" developing>
+ <PageLayoutWithBg class="mineAgreementSign-page-wrapper" :title="'鍗忚绛剧害'">
<InnerPage></InnerPage>
</PageLayoutWithBg>
</template>
diff --git a/apps/cMiniApp/src/subpackages/mine/mineAgreementSignDetail/InnerPage.vue b/apps/cMiniApp/src/subpackages/mine/mineAgreementSignDetail/InnerPage.vue
index 0382b05..cd161c7 100644
--- a/apps/cMiniApp/src/subpackages/mine/mineAgreementSignDetail/InnerPage.vue
+++ b/apps/cMiniApp/src/subpackages/mine/mineAgreementSignDetail/InnerPage.vue
@@ -93,7 +93,7 @@
const userStore = useUserStore();
-function goToSign() {}
+const goToSign = useAccessReal(() => {});
</script>
<style lang="scss">
diff --git a/apps/cMiniApp/src/subpackages/task/taskCheckDetail/InnerPage.vue b/apps/cMiniApp/src/subpackages/task/taskCheckDetail/InnerPage.vue
index 66fd069..3c3f8db 100644
--- a/apps/cMiniApp/src/subpackages/task/taskCheckDetail/InnerPage.vue
+++ b/apps/cMiniApp/src/subpackages/task/taskCheckDetail/InnerPage.vue
@@ -23,10 +23,10 @@
</template>
</InfiniteLoading>
</ContentScrollView>
- <!-- <div class="taskCheckDetail-tips-wrapper">
+ <div class="taskCheckDetail-tips-wrapper" v-if="!isBindBankCard">
<div class="taskCheckDetail-tips-text">鎮ㄥ皻鏈粦瀹氶摱琛屽崱锛屾殏鏃舵棤娉曠粨绠楁湇鍔¤垂</div>
- <div class="taskCheckDetail-tips-btn">绔嬪嵆缁戝畾閾惰鍗′俊鎭�</div>
- </div> -->
+ <div class="taskCheckDetail-tips-btn" @click="goBindBankCard">绔嬪嵆缁戝畾閾惰鍗′俊鎭�</div>
+ </div>
</template>
<script setup lang="ts">
@@ -43,6 +43,18 @@
const id = route.params?.id as string;
const { infiniteLoadingProps } = useCheckReceiveTaskUserSubmits({ id: id });
+
+const isBindBankCard = computed(
+ () =>
+ infiniteLoadingProps.value?.listData?.pages?.[0]?.objectData?.enterpriseEmployeeUser
+ ?.isBindBankCard
+);
+
+function goBindBankCard() {
+ Taro.navigateTo({
+ url: `${RouterPath.unboundBankCard}`,
+ });
+}
</script>
<style lang="scss">
@@ -56,5 +68,19 @@
margin-bottom: 16px;
color: boleGetCssVar('text-color', 'primary');
}
+
+ .taskCheckDetail-tips-wrapper {
+ text-align: center;
+ font-size: 24px;
+ line-height: 32px;
+
+ .taskCheckDetail-tips-text {
+ color: boleGetCssVar('text-color', 'secondary');
+ }
+
+ .taskCheckDetail-tips-btn {
+ color: boleGetCssVar('color', 'primary');
+ }
+ }
}
</style>
diff --git a/apps/cMiniApp/src/subpackages/task/taskDetail/InnerPage.vue b/apps/cMiniApp/src/subpackages/task/taskDetail/InnerPage.vue
index a10ccc6..58fd1fc 100644
--- a/apps/cMiniApp/src/subpackages/task/taskDetail/InnerPage.vue
+++ b/apps/cMiniApp/src/subpackages/task/taskDetail/InnerPage.vue
@@ -121,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
@@ -176,6 +181,7 @@
GetPersonalHireTaskInfosQueryStatusColor,
GetTaskInfoQueryResultHireButtonText,
GetTaskInfoQueryResultHireButton,
+ GetTaskInfoQueryResultApplyButton,
} from '@12333/constants';
import { useAccessLogin } from '@/hooks';
@@ -275,6 +281,11 @@
url: `${RouterPath.taskSubmitCheck}?id=${id}`,
});
}
+function handleSign() {
+ // Taro.navigateTo({
+ // url: `${RouterPath}?id=${id}`,
+ // });
+}
function goMap() {
Taro.openLocation({
diff --git a/apps/cMiniApp/src/subpackages/wallet/incomeDetail/InnerPage.vue b/apps/cMiniApp/src/subpackages/wallet/incomeDetail/InnerPage.vue
index b33d8d1..93e590f 100644
--- a/apps/cMiniApp/src/subpackages/wallet/incomeDetail/InnerPage.vue
+++ b/apps/cMiniApp/src/subpackages/wallet/incomeDetail/InnerPage.vue
@@ -9,6 +9,7 @@
format="YYYY骞碝鏈�"
:max-date="nowDate"
/>
+ <IconFont name="triangle-down" class="income-detail-time-picker-icon"></IconFont>
</div>
</template>
</IncomeDetailListItem>
@@ -25,6 +26,7 @@
<script setup lang="ts">
import { List, IncomeDetailListItem, ChooseInputWithDatePicker } from '@12333/components';
import { useUserStore } from '@/stores/modules/user';
+import { IconFont } from '@nutui/icons-vue-taro';
import Taro from '@tarojs/taro';
import dayjs from 'dayjs';
@@ -50,9 +52,12 @@
.incomeDetail-page-wrapper {
.income-detail-time-picker {
+ position: relative;
+
.nut-input {
border-bottom: none;
padding: 0;
+ width: 100%;
.input-text {
font-size: 20px;
@@ -64,6 +69,12 @@
display: none;
}
}
+
+ .income-detail-time-picker-icon {
+ position: absolute;
+ top: 12px;
+ left: 220px;
+ }
}
}
</style>
diff --git a/apps/cMiniApp/src/subpackages/wallet/incomeDetail/incomeDetail.vue b/apps/cMiniApp/src/subpackages/wallet/incomeDetail/incomeDetail.vue
index b8b35c9..9141308 100644
--- a/apps/cMiniApp/src/subpackages/wallet/incomeDetail/incomeDetail.vue
+++ b/apps/cMiniApp/src/subpackages/wallet/incomeDetail/incomeDetail.vue
@@ -1,5 +1,5 @@
<template>
- <PageLayout class="incomeDetail-page-wrapper" :title="'鏀跺叆鏄庣粏'" developing>
+ <PageLayout class="incomeDetail-page-wrapper" :title="'鏀跺叆鏄庣粏'">
<InnerPage></InnerPage>
</PageLayout>
</template>
diff --git a/apps/cMiniApp/src/subpackages/wallet/mineWallet/InnerPage.vue b/apps/cMiniApp/src/subpackages/wallet/mineWallet/InnerPage.vue
index 28ae10b..bae21d2 100644
--- a/apps/cMiniApp/src/subpackages/wallet/mineWallet/InnerPage.vue
+++ b/apps/cMiniApp/src/subpackages/wallet/mineWallet/InnerPage.vue
@@ -21,7 +21,7 @@
name: 'InnerPage',
});
-const userStore = useUserStore();
+const { isCertified } = useUser();
const isBinding = ref(false);
@@ -30,16 +30,15 @@
url: `${RouterPath.incomeDetail}`,
});
}
-function goBankBind() {
- // Message.confirm({ message: '瀹屾垚瀹炲悕璁よ瘉鍚庢墠鍙繘琛岄摱琛屽崱缁戝畾' }).then(() => {
- // Taro.navigateTo({
- // url: `${RouterPath.authenticationHome}`,
- // });
- // });
- Taro.navigateTo({
- url: `${isBinding.value ? RouterPath.bindBankCard : RouterPath.unboundBankCard}`,
- });
-}
+
+const goBankBind = useAccessReal(
+ () => {
+ Taro.navigateTo({
+ url: `${isBinding.value ? RouterPath.bindBankCard : RouterPath.unboundBankCard}`,
+ });
+ },
+ { message: '瀹屾垚瀹炲悕璁よ瘉鍚庢墠鍙繘琛岄摱琛屽崱缁戝畾' }
+);
</script>
<style lang="scss">
diff --git a/apps/cMiniApp/src/subpackages/wallet/mineWallet/mineWallet.vue b/apps/cMiniApp/src/subpackages/wallet/mineWallet/mineWallet.vue
index 1d0382e..2a730f7 100644
--- a/apps/cMiniApp/src/subpackages/wallet/mineWallet/mineWallet.vue
+++ b/apps/cMiniApp/src/subpackages/wallet/mineWallet/mineWallet.vue
@@ -1,5 +1,5 @@
<template>
- <PageLayout class="mineWallet-page-wrapper" :title="'鎴戠殑閽卞寘'" developing>
+ <PageLayout class="mineWallet-page-wrapper" :title="'鎴戠殑閽卞寘'">
<InnerPage></InnerPage>
</PageLayout>
</template>
diff --git a/apps/cMiniApp/src/subpackages/wallet/unboundBankCard/InnerPage.vue b/apps/cMiniApp/src/subpackages/wallet/unboundBankCard/InnerPage.vue
index fd5fbd0..f458fa7 100644
--- a/apps/cMiniApp/src/subpackages/wallet/unboundBankCard/InnerPage.vue
+++ b/apps/cMiniApp/src/subpackages/wallet/unboundBankCard/InnerPage.vue
@@ -51,10 +51,10 @@
import { VerificationCodeBusinessType } from '@12333/constants';
import * as commonServices from '@12333/services/api/Common';
import Taro from '@tarojs/taro';
-import { useQuery } from '@tanstack/vue-query';
+import { useQuery, useQueryClient } from '@tanstack/vue-query';
const userResumeServices = {};
-
+const queryClient = useQueryClient();
defineOptions({
name: 'InnerPage',
});
@@ -124,6 +124,9 @@
Taro.navigateTo({
url: `${RouterPath.mineCurriculumVitae}`,
});
+ queryClient.invalidateQueries([
+ 'taskCheckReceiveServices/getCheckReceiveTaskUserSubmits',
+ ]);
},
});
}
diff --git a/packages/components/src/Card/MineAgreementSignCard.vue b/packages/components/src/Card/MineAgreementSignCard.vue
index 406d63e..87d8e5e 100644
--- a/packages/components/src/Card/MineAgreementSignCard.vue
+++ b/packages/components/src/Card/MineAgreementSignCard.vue
@@ -4,20 +4,17 @@
<div class="task-card-title">瀹佹尝浜哄姏鏃犲咖浜哄姏璧勬簮鏈夐檺鍏徃</div>
</div>
<div class="task-card-footer">
- <div class="task-card-left">
- <div class="task-card-time">2024.11.20 - 2025.11.19</div>
+ <div class="task-card-actions" :style="{ color: '#FF4D4F' }">
+ {{ '寰呯绾�' }}
</div>
- <div class="task-card-actions">
- <slot name="actions">
- <nut-button type="primary">鎶ュ悕</nut-button>
- </slot>
- </div>
+ <img :src="IconArrow" class="task-card-arrow" />
</div>
</div>
</template>
<script setup lang="ts">
import { CommonTaskCardProps } from './card';
+import IconArrow from '@/assets/setting/icon-arrow.png';
defineOptions({
name: 'MineAgreementSignCard',
@@ -54,30 +51,18 @@
}
}
- .task-card-time {
- font-size: 24px;
- color: boleGetCssVar('text-color', 'secondary');
- line-height: 36px;
- margin-bottom: 6px;
- }
-
.task-card-footer {
display: flex;
align-items: center;
-
- .task-card-left {
- flex: 1;
- min-width: 0;
- display: flex;
- align-items: center;
- }
+ justify-content: space-between;
.task-card-actions {
- --nut-button-default-font-size: 24px;
+ font-size: 24px;
+ }
- .nut-button {
- height: 26px;
- }
+ .task-card-arrow {
+ width: 24px;
+ height: 24px;
}
}
}
diff --git a/packages/constants/apiEnum.ts b/packages/constants/apiEnum.ts
index bd24f08..b91d90e 100644
--- a/packages/constants/apiEnum.ts
+++ b/packages/constants/apiEnum.ts
@@ -21,6 +21,32 @@
Wxmp = 20,
}
+/** 鍚堝悓鍒剁増鐘舵�� */
+export enum EnumContractTemplateStatus {
+ /**寰呭埗鐗� */
+ Wait = 10,
+ /**宸插畬鎴� */
+ Completed = 20,
+}
+
+/** 鍚堝悓妯℃澘鍙橀噺 */
+export enum EnumContractTemplateValueRecorder {
+ /**鍙戜欢浜� */
+ Creator = 10,
+ /**绛剧讲浜� */
+ Signer = 20,
+}
+
+/** 鍚堝悓妯℃澘鍙橀噺绫诲瀷 */
+export enum EnumContractTemplateValueType {
+ /**鏂囨湰 */
+ Text = 10,
+ /**绛剧讲 */
+ Sign = 20,
+ /**鏃ユ湡 */
+ Date = 30,
+}
+
/** 鏁版嵁鏉ユ簮 */
export enum EnumDataSource {
/**818 */
@@ -37,6 +63,14 @@
Deleted = 30,
}
+/** 鐢靛瓙绛� */
+export enum EnumElectronSignAccess {
+ /**涓婁笂绛� */
+ BestSign = 10,
+ /**鏀粯瀹濅俊浠荤 */
+ AlipaySign = 20,
+}
+
/** 浼佷笟瀹炲悕鏂瑰紡 */
export enum EnumEnterpriseRealMethod {
/**浼佷笟涓夎绱� */
diff --git a/packages/hooks/identify.ts b/packages/hooks/identify.ts
index a96f9d4..230cb63 100644
--- a/packages/hooks/identify.ts
+++ b/packages/hooks/identify.ts
@@ -1,4 +1,6 @@
+import { EnumOcrAccess } from '@12333/constants';
import * as accountServices from '@12333/services/api/Account';
+import * as ocrUtilsServices from '@12333/services/apiV2/ocrUtils';
import { FileItem } from '@nutui/nutui-taro/dist/types/__VUE/uploader/type';
import _ from 'lodash';
@@ -23,21 +25,26 @@
} catch (error) {}
}
-// type UserCredentialVerifyOcrIDCardOptions = {
-// onSuccess?: (res: API.UserCredentialVerifyOcrIDCardResponse) => any;
-// };
+type UserCredentialVerifyOcrIDCardOptions = {
+ access?: EnumOcrAccess;
+ scene?: string;
+ isOssUrl?: boolean;
+ response?: FileItem;
+ onSuccess?: (res: API.GetIdentityFrontOcrCommandResult) => any;
+};
-// export async function userCredentialVerifyOcrIDCard(
-// response: FileItem,
-// options: UserCredentialVerifyOcrIDCardOptions = {}
-// ) {
-// try {
-// if (response?.url) {
-// const { onSuccess } = options;
-// let res = await commonServices.userCredentialVerifyOcrIDCard({
-// identityImageUrl: response.url,
-// });
-// onSuccess?.(res);
-// }
-// } catch (error) {}
-// }
+export async function userCredentialVerifyOcrIDCard(
+ options: UserCredentialVerifyOcrIDCardOptions = {}
+) {
+ try {
+ const { onSuccess, access, isOssUrl, response, scene } = options;
+ if (response?.path) {
+ let res = await ocrUtilsServices.getIdentityFrontOcr({
+ access: access,
+ url: response.path,
+ isOssUrl: isOssUrl,
+ });
+ onSuccess?.(res);
+ }
+ } catch (error) {}
+}
diff --git a/packages/services/apiV2/electronSign.ts b/packages/services/apiV2/electronSign.ts
index 77c1101..b649bcb 100644
--- a/packages/services/apiV2/electronSign.ts
+++ b/packages/services/apiV2/electronSign.ts
@@ -17,6 +17,75 @@
});
}
+/** 鏌ヨ鍚堝悓妯℃澘璇︽儏 GET /api/user/electronSign/getContractTemplate */
+export async function getContractTemplate(
+ // 鍙犲姞鐢熸垚鐨凱aram绫诲瀷 (闈瀊ody鍙傛暟swagger榛樿娌℃湁鐢熸垚瀵硅薄)
+ params: API.APIgetContractTemplateParams,
+ options?: API.RequestConfig
+) {
+ return request<API.GetContractTemplateQueryResult>('/api/user/electronSign/getContractTemplate', {
+ method: 'GET',
+ params: {
+ ...params,
+ },
+ ...(options || {}),
+ });
+}
+
+/** 鏌ヨ杩愯惀绔崗璁鐞嗗垎椤靛垪琛ㄦ暟鎹� POST /api/user/electronSign/getContractTemplateEnterprises */
+export async function getContractTemplateEnterprises(
+ body: API.GetContractTemplateEnterprisesQuery,
+ options?: API.RequestConfig
+) {
+ return request<API.GetContractTemplateEnterprisesQueryResult>(
+ '/api/user/electronSign/getContractTemplateEnterprises',
+ {
+ method: 'POST',
+ headers: {
+ 'Content-Type': 'application/json-patch+json',
+ },
+ data: body,
+ ...(options || {}),
+ }
+ );
+}
+
+/** 鏌ヨ浼佷笟鍚堝悓妯℃澘鏃ュ織鍒嗛〉鍒楄〃鏁版嵁 POST /api/user/electronSign/getEnterpriseContractTemplateLogs */
+export async function getEnterpriseContractTemplateLogs(
+ body: API.GetEnterpriseContractTemplateLogsQuery,
+ options?: API.RequestConfig
+) {
+ return request<API.GetEnterpriseContractTemplateLogsQueryResult>(
+ '/api/user/electronSign/getEnterpriseContractTemplateLogs',
+ {
+ method: 'POST',
+ headers: {
+ 'Content-Type': 'application/json-patch+json',
+ },
+ data: body,
+ ...(options || {}),
+ }
+ );
+}
+
+/** 鏌ヨ浼佷笟鍚堝悓妯℃澘鍒嗛〉鍒楄〃鏁版嵁 POST /api/user/electronSign/getEnterpriseContractTemplates */
+export async function getEnterpriseContractTemplates(
+ body: API.GetEnterpriseContractTemplatesQuery,
+ options?: API.RequestConfig
+) {
+ return request<API.GetEnterpriseContractTemplatesQueryResult>(
+ '/api/user/electronSign/getEnterpriseContractTemplates',
+ {
+ method: 'POST',
+ headers: {
+ 'Content-Type': 'application/json-patch+json',
+ },
+ data: body,
+ ...(options || {}),
+ }
+ );
+}
+
/** 涓汉浜鸿劯瀹炲悕璁よ瘉 POST /api/user/electronSign/personalUserFaceReal */
export async function personalUserFaceReal(
body: API.PersonalUserFaceRealCommand,
@@ -47,6 +116,21 @@
});
}
+/** 淇濆瓨鍚堝悓妯℃澘 POST /api/user/electronSign/saveContractTemplate */
+export async function saveContractTemplate(
+ body: API.SaveContractTemplateCommand,
+ options?: API.RequestConfig
+) {
+ return request<string>('/api/user/electronSign/saveContractTemplate', {
+ method: 'POST',
+ headers: {
+ 'Content-Type': 'application/json-patch+json',
+ },
+ data: body,
+ ...(options || {}),
+ });
+}
+
/** 鍙戦�佷釜浜轰笁瑕佺礌瀹炲悕鐭俊 POST /api/user/electronSign/sendPersonalUserIdentity3RealSms */
export async function sendPersonalUserIdentity3RealSms(
body: API.SendPersonalUserIdentity3RealSmsCommand,
@@ -61,3 +145,18 @@
...(options || {}),
});
}
+
+/** 绂佺敤鍚堝悓妯℃澘 PUT /api/user/electronSign/setIsDisabledContractTemplate */
+export async function setIsDisabledContractTemplate(
+ body: API.SetIsDisabledContractTemplateCommand,
+ options?: API.RequestConfig
+) {
+ return request<number>('/api/user/electronSign/setIsDisabledContractTemplate', {
+ method: 'PUT',
+ headers: {
+ 'Content-Type': 'application/json-patch+json',
+ },
+ data: body,
+ ...(options || {}),
+ });
+}
diff --git a/packages/services/apiV2/index.ts b/packages/services/apiV2/index.ts
index 39390a8..2145001 100644
--- a/packages/services/apiV2/index.ts
+++ b/packages/services/apiV2/index.ts
@@ -8,13 +8,13 @@
import * as enterprise from './enterprise';
import * as resource from './resource';
import * as task from './task';
-import * as ocrUtils from './ocrUtils';
import * as dictionary from './dictionary';
import * as userResume from './userResume';
import * as auth from './auth';
import * as taskCheckReceive from './taskCheckReceive';
import * as electronSign from './electronSign';
import * as taskUser from './taskUser';
+import * as ocrUtils from './ocrUtils';
import * as menu from './menu';
import * as logRecords from './logRecords';
import * as fileUtils from './fileUtils';
@@ -25,13 +25,13 @@
enterprise,
resource,
task,
- ocrUtils,
dictionary,
userResume,
auth,
taskCheckReceive,
electronSign,
taskUser,
+ ocrUtils,
menu,
logRecords,
fileUtils,
diff --git a/packages/services/apiV2/ocrUtils.ts b/packages/services/apiV2/ocrUtils.ts
index 4601bae..75d1669 100644
--- a/packages/services/apiV2/ocrUtils.ts
+++ b/packages/services/apiV2/ocrUtils.ts
@@ -2,17 +2,44 @@
// @ts-ignore
import { request } from '@/utils/request';
-/** 鏂囧瓧璇嗗埆钀ヤ笟鎵х収 GET /api/common/ocrUtils/getLicenseOcr */
-export async function getLicenseOcr(
- // 鍙犲姞鐢熸垚鐨凱aram绫诲瀷 (闈瀊ody鍙傛暟swagger榛樿娌℃湁鐢熸垚瀵硅薄)
- params: API.APIgetLicenseOcrParams,
+/** 鏂囧瓧璇嗗埆韬唤璇佽儗闈� POST /api/common/ocrUtils/getIdentityBackOcr */
+export async function getIdentityBackOcr(
+ body: API.GetIdentityBackOcrCommand,
options?: API.RequestConfig
) {
- return request<API.GetLicenseOcrCommandResult>('/api/common/ocrUtils/getLicenseOcr', {
- method: 'GET',
- params: {
- ...params,
+ return request<API.GetIdentityBackOcrCommandResult>('/api/common/ocrUtils/getIdentityBackOcr', {
+ method: 'POST',
+ headers: {
+ 'Content-Type': 'application/json-patch+json',
},
+ data: body,
+ ...(options || {}),
+ });
+}
+
+/** 鏂囧瓧璇嗗埆韬唤璇佹闈� POST /api/common/ocrUtils/getIdentityFrontOcr */
+export async function getIdentityFrontOcr(
+ body: API.GetIdentityFrontOcrCommand,
+ options?: API.RequestConfig
+) {
+ return request<API.GetIdentityFrontOcrCommandResult>('/api/common/ocrUtils/getIdentityFrontOcr', {
+ method: 'POST',
+ headers: {
+ 'Content-Type': 'application/json-patch+json',
+ },
+ data: body,
+ ...(options || {}),
+ });
+}
+
+/** 鏂囧瓧璇嗗埆钀ヤ笟鎵х収 POST /api/common/ocrUtils/getLicenseOcr */
+export async function getLicenseOcr(body: API.GetLicenseOcrCommand, options?: API.RequestConfig) {
+ return request<API.GetLicenseOcrCommandResult>('/api/common/ocrUtils/getLicenseOcr', {
+ method: 'POST',
+ headers: {
+ 'Content-Type': 'application/json-patch+json',
+ },
+ data: body,
...(options || {}),
});
}
diff --git a/packages/services/apiV2/typings.d.ts b/packages/services/apiV2/typings.d.ts
index 584f731..31ee0fb 100644
--- a/packages/services/apiV2/typings.d.ts
+++ b/packages/services/apiV2/typings.d.ts
@@ -29,6 +29,11 @@
date?: string;
}
+ interface APIgetContractTemplateParams {
+ /** 妯℃澘Id */
+ id?: string;
+ }
+
interface APIgetCurrentLogierMenuParams {
/** Id */
id?: string;
@@ -91,17 +96,6 @@
interface APIgetFileUrlParams {
/** 鍦板潃 */
url?: string;
- }
-
- interface APIgetLicenseOcrParams {
- /** 閫氶亾 */
- access?: EnumOcrAccess;
- /** 鍦烘櫙 */
- scene?: string;
- /** 閾炬帴鍦板潃 */
- url?: string;
- /** 鏄惁涓轰簯瀛樺偍鐩稿鍦板潃 */
- isOssUrl?: boolean;
}
interface APIgetMenuParams {
@@ -239,6 +233,28 @@
mainBusiness?: string;
}
+ interface BaiduOcrIdentityBackResultModel {
+ /** 澶辨晥鏃ユ湡 */
+ expiryDate?: string;
+ /** 绛惧彂鏈哄叧 */
+ issueAuthority?: string;
+ /** 绛惧彂鏃ユ湡 */
+ issueDate?: string;
+ }
+
+ interface BaiduOcrIdentityFrontResultModel {
+ name?: string;
+ /** 韬唤璇佸彿 */
+ identity?: string;
+ gender?: EnumUserGender;
+ /** 鐢熸棩 */
+ birthday?: string;
+ /** 姘戞棌 */
+ nation?: string;
+ /** 浣忓潃 */
+ address?: string;
+ }
+
interface BindWxmpUserInfoCommand {
/** 璁块棶浠ょ墝 */
accessToken: string;
@@ -359,6 +375,29 @@
Wxmp = 20,
}
+ enum EnumContractTemplateStatus {
+ /**寰呭埗鐗� */
+ Wait = 10,
+ /**宸插畬鎴� */
+ Completed = 20,
+ }
+
+ enum EnumContractTemplateValueRecorder {
+ /**鍙戜欢浜� */
+ Creator = 10,
+ /**绛剧讲浜� */
+ Signer = 20,
+ }
+
+ enum EnumContractTemplateValueType {
+ /**鏂囨湰 */
+ Text = 10,
+ /**绛剧讲 */
+ Sign = 20,
+ /**鏃ユ湡 */
+ Date = 30,
+ }
+
enum EnumDataSource {
/**818 */
HumanResources = 10,
@@ -371,6 +410,13 @@
Modified = 20,
/**鍒犻櫎 */
Deleted = 30,
+ }
+
+ enum EnumElectronSignAccess {
+ /**涓婁笂绛� */
+ BestSign = 10,
+ /**鏀粯瀹濅俊浠荤 */
+ AlipaySign = 20,
}
enum EnumEnterpriseRealMethod {
@@ -775,6 +821,42 @@
timestamp?: number;
}
+ interface FriendlyResultGetContractTemplateEnterprisesQueryResult {
+ /** 璺熻釜Id */
+ traceId?: string;
+ /** 鐘舵�佺爜 */
+ code?: number;
+ /** 閿欒鐮� */
+ errorCode?: string;
+ data?: GetContractTemplateEnterprisesQueryResult;
+ /** 鎵ц鎴愬姛 */
+ success?: boolean;
+ /** 閿欒淇℃伅 */
+ msg?: any;
+ /** 闄勫姞鏁版嵁 */
+ extras?: any;
+ /** 鏃堕棿鎴� */
+ timestamp?: number;
+ }
+
+ interface FriendlyResultGetContractTemplateQueryResult {
+ /** 璺熻釜Id */
+ traceId?: string;
+ /** 鐘舵�佺爜 */
+ code?: number;
+ /** 閿欒鐮� */
+ errorCode?: string;
+ data?: GetContractTemplateQueryResult;
+ /** 鎵ц鎴愬姛 */
+ success?: boolean;
+ /** 閿欒淇℃伅 */
+ msg?: any;
+ /** 闄勫姞鏁版嵁 */
+ extras?: any;
+ /** 鏃堕棿鎴� */
+ timestamp?: number;
+ }
+
interface FriendlyResultGetDbAuditLogsQueryResult {
/** 璺熻釜Id */
traceId?: string;
@@ -783,6 +865,42 @@
/** 閿欒鐮� */
errorCode?: string;
data?: GetDbAuditLogsQueryResult;
+ /** 鎵ц鎴愬姛 */
+ success?: boolean;
+ /** 閿欒淇℃伅 */
+ msg?: any;
+ /** 闄勫姞鏁版嵁 */
+ extras?: any;
+ /** 鏃堕棿鎴� */
+ timestamp?: number;
+ }
+
+ interface FriendlyResultGetEnterpriseContractTemplateLogsQueryResult {
+ /** 璺熻釜Id */
+ traceId?: string;
+ /** 鐘舵�佺爜 */
+ code?: number;
+ /** 閿欒鐮� */
+ errorCode?: string;
+ data?: GetEnterpriseContractTemplateLogsQueryResult;
+ /** 鎵ц鎴愬姛 */
+ success?: boolean;
+ /** 閿欒淇℃伅 */
+ msg?: any;
+ /** 闄勫姞鏁版嵁 */
+ extras?: any;
+ /** 鏃堕棿鎴� */
+ timestamp?: number;
+ }
+
+ interface FriendlyResultGetEnterpriseContractTemplatesQueryResult {
+ /** 璺熻釜Id */
+ traceId?: string;
+ /** 鐘舵�佺爜 */
+ code?: number;
+ /** 閿欒鐮� */
+ errorCode?: string;
+ data?: GetEnterpriseContractTemplatesQueryResult;
/** 鎵ц鎴愬姛 */
success?: boolean;
/** 閿欒淇℃伅 */
@@ -909,6 +1027,42 @@
/** 閿欒鐮� */
errorCode?: string;
data?: GetExceptionLogsQueryResult;
+ /** 鎵ц鎴愬姛 */
+ success?: boolean;
+ /** 閿欒淇℃伅 */
+ msg?: any;
+ /** 闄勫姞鏁版嵁 */
+ extras?: any;
+ /** 鏃堕棿鎴� */
+ timestamp?: number;
+ }
+
+ interface FriendlyResultGetIdentityBackOcrCommandResult {
+ /** 璺熻釜Id */
+ traceId?: string;
+ /** 鐘舵�佺爜 */
+ code?: number;
+ /** 閿欒鐮� */
+ errorCode?: string;
+ data?: GetIdentityBackOcrCommandResult;
+ /** 鎵ц鎴愬姛 */
+ success?: boolean;
+ /** 閿欒淇℃伅 */
+ msg?: any;
+ /** 闄勫姞鏁版嵁 */
+ extras?: any;
+ /** 鏃堕棿鎴� */
+ timestamp?: number;
+ }
+
+ interface FriendlyResultGetIdentityFrontOcrCommandResult {
+ /** 璺熻釜Id */
+ traceId?: string;
+ /** 鐘舵�佺爜 */
+ code?: number;
+ /** 閿欒鐮� */
+ errorCode?: string;
+ data?: GetIdentityFrontOcrCommandResult;
/** 鎵ц鎴愬姛 */
success?: boolean;
/** 閿欒淇℃伅 */
@@ -1959,6 +2113,66 @@
addressName?: string;
}
+ interface GetContractTemplateEnterprisesQuery {
+ /** 鍏抽敭瀛� */
+ keywords?: string;
+ status?: EnumContractTemplateStatus;
+ pageModel?: PagedListQueryPageModel;
+ }
+
+ interface GetContractTemplateEnterprisesQueryResult {
+ pageModel?: PagedListQueryResultPageModel;
+ /** 鏁版嵁 */
+ data?: GetContractTemplateEnterprisesQueryResultItem[];
+ }
+
+ interface GetContractTemplateEnterprisesQueryResultItem {
+ /** 浼佷笟Id */
+ id?: string;
+ /** 浼佷笟鍏ㄧО */
+ enterpriseName?: string;
+ /** 鑱旂郴浜� */
+ contacts?: string;
+ /** 鑱旂郴鐢佃瘽 */
+ contactPhoneNumber?: string;
+ /** 鍚堝悓鏁� */
+ total?: number;
+ /** 寰呭埗鐗� */
+ waitCount?: number;
+ }
+
+ interface GetContractTemplateQueryResult {
+ /** 妯℃澘Id */
+ id?: string;
+ /** 浼佷笟Id */
+ enterpriseId?: string;
+ /** 妯℃澘鍚嶇О */
+ name?: string;
+ /** 妯℃澘 */
+ file?: string;
+ /** 涓氬姟缂栫爜 */
+ code?: string;
+ access?: EnumElectronSignAccess;
+ /** 妯℃澘Id */
+ templateId?: string;
+ /** 鍙橀噺 */
+ values?: GetContractTemplateQueryResultValue[];
+ }
+
+ interface GetContractTemplateQueryResultValue {
+ /** 鍙橀噺Id */
+ id?: string;
+ type?: EnumContractTemplateValueType;
+ recorder?: EnumContractTemplateValueRecorder;
+ userType?: EnumUserType;
+ /** 鍙橀噺鍚嶇О */
+ label?: string;
+ /** 鍙橀噺浠g爜 */
+ name?: string;
+ /** 鏄惁蹇呭~ */
+ required?: boolean;
+ }
+
type GetCurrentLogierMenusQuery = Record<string, any>;
interface GetDbAuditLogsQuery {
@@ -2102,6 +2316,74 @@
sort?: number;
/** 鏄惁绂佺敤 */
isDisabled?: boolean;
+ }
+
+ interface GetEnterpriseContractTemplateLogsQuery {
+ /** 妯℃澘Id */
+ id?: string;
+ pageModel?: PagedListQueryPageModel;
+ }
+
+ interface GetEnterpriseContractTemplateLogsQueryResult {
+ pageModel?: PagedListQueryResultPageModel;
+ /** 鏁版嵁 */
+ data?: GetEnterpriseContractTemplateLogsQueryResultItem[];
+ }
+
+ interface GetEnterpriseContractTemplateLogsQueryResultItem {
+ /** 璺熻釜Id */
+ traceId?: string;
+ /** 鎿嶄綔浜� */
+ createdUser?: string;
+ /** 鎿嶄綔鏃堕棿 */
+ createdTime?: string;
+ operate?: EnumDbAuditOperate;
+ /** 鎿嶄綔鍐呭 */
+ content?: string[];
+ }
+
+ interface GetEnterpriseContractTemplatesQuery {
+ /** 浼佷笟Id */
+ enterpriseId?: string;
+ /** 鍏抽敭瀛� */
+ keywords?: string;
+ status?: EnumContractTemplateStatus;
+ /** 瀹㈡埛涓婁紶鏃堕棿-璧峰 */
+ createdTimeBegin?: string;
+ /** 瀹㈡埛涓婁紶鏃堕棿-鎴 */
+ createdTimeEnd?: string;
+ /** 鍒剁増鏃堕棿-璧峰 */
+ completedTimeBegin?: string;
+ /** 鍒剁増鏃堕棿-鎴 */
+ completedTimeEnd?: string;
+ pageModel?: PagedListQueryPageModel;
+ }
+
+ interface GetEnterpriseContractTemplatesQueryResult {
+ pageModel?: PagedListQueryResultPageModel;
+ /** 鏁版嵁 */
+ data?: GetEnterpriseContractTemplatesQueryResultItem[];
+ }
+
+ interface GetEnterpriseContractTemplatesQueryResultItem {
+ /** 妯℃澘Id */
+ id?: string;
+ /** 妯℃澘鍚嶇О */
+ name?: string;
+ /** 瀹㈡埛涓婁紶鏃堕棿 */
+ createdTime?: string;
+ /** 妯℃澘Id */
+ templateId?: string;
+ access?: EnumElectronSignAccess;
+ /** 涓氬姟缂栫爜 */
+ code?: string;
+ /** 妯℃澘 */
+ file?: string;
+ status?: EnumContractTemplateStatus;
+ /** 鍒剁増鏃堕棿 */
+ completedTime?: string;
+ /** 鎿嶄綔浜� */
+ operator?: string;
}
interface GetEnterpriseElectronSignSettingQueryResult {
@@ -2345,6 +2627,48 @@
createdUser?: GetResourceLogsQueryResultItemCreatedUser;
/** 鍒涘缓鏃堕棿 */
createdTime?: string;
+ }
+
+ interface GetIdentityBackOcrCommand {
+ access?: EnumOcrAccess;
+ /** 鍦烘櫙 */
+ scene?: string;
+ /** 閾炬帴鍦板潃 */
+ url?: string;
+ /** 鏄惁涓轰簯瀛樺偍鐩稿鍦板潃 */
+ isOssUrl?: boolean;
+ }
+
+ interface GetIdentityBackOcrCommandResult {
+ /** 鍦板潃 */
+ url?: string;
+ model?: BaiduOcrIdentityBackResultModel;
+ }
+
+ interface GetIdentityFrontOcrCommand {
+ access?: EnumOcrAccess;
+ /** 鍦烘櫙 */
+ scene?: string;
+ /** 閾炬帴鍦板潃 */
+ url?: string;
+ /** 鏄惁涓轰簯瀛樺偍鐩稿鍦板潃 */
+ isOssUrl?: boolean;
+ }
+
+ interface GetIdentityFrontOcrCommandResult {
+ /** 鍦板潃 */
+ url?: string;
+ model?: BaiduOcrIdentityFrontResultModel;
+ }
+
+ interface GetLicenseOcrCommand {
+ access?: EnumOcrAccess;
+ /** 鍦烘櫙 */
+ scene?: string;
+ /** 閾炬帴鍦板潃 */
+ url?: string;
+ /** 鏄惁涓轰簯瀛樺偍鐩稿鍦板潃 */
+ isOssUrl?: boolean;
}
interface GetLicenseOcrCommandResult {
@@ -3608,6 +3932,38 @@
id?: string;
}
+ interface SaveContractTemplateCommand {
+ /** 浼佷笟Id锛堣繍钀ョ淇濆瓨鏃讹級 */
+ enterpriseId?: string;
+ /** 妯℃澘鍚嶇О */
+ name: string;
+ /** 妯℃澘 */
+ file: string;
+ /** 涓氬姟缂栫爜 */
+ code?: string;
+ access?: EnumElectronSignAccess;
+ /** 妯℃澘Id */
+ templateId?: string;
+ /** 鍙橀噺 */
+ values?: SaveContractTemplateCommandValue[];
+ /** Id */
+ id?: string;
+ }
+
+ interface SaveContractTemplateCommandValue {
+ /** Id */
+ id?: string;
+ type?: EnumContractTemplateValueType;
+ recorder?: EnumContractTemplateValueRecorder;
+ userType?: EnumUserType;
+ /** 鍙橀噺鍚嶇О */
+ label?: string;
+ /** 鍙橀噺浠g爜 */
+ name?: string;
+ /** 鏄惁蹇呭~ */
+ required?: boolean;
+ }
+
interface SaveDictionaryCategoryCommand {
/** 缂栧彿 */
code: string;
@@ -3975,6 +4331,12 @@
smsCost?: number;
}
+ interface SetIsDisabledContractTemplateCommand {
+ ids?: string[];
+ /** 鏄惁宸茬鐢� */
+ isDisabled?: boolean;
+ }
+
interface SetMenuSwitchCommand {
/** Id */
ids?: string[];
--
Gitblit v1.9.1