From 5d3529a43c2f80c6eff5235c646a446737dcb13c Mon Sep 17 00:00:00 2001
From: wupengfei <834520024@qq.com>
Date: 星期三, 30 七月 2025 14:07:55 +0800
Subject: [PATCH] feat: 页面
---
src/services/api/FlexTask.ts | 63 +
src/views/EmploymentManage/EmploymentSignList.vue | 163 ++
src/views/FlexJobManage/constants/columns.ts | 80 +
src/views/EmploymentManage/constants/columns.ts | 154 ++
src/hooks/useEvent.ts | 2
src/views/FlexJobManage/components/StaffInfoDialog.vue | 199 +++
src/views/EmploymentManage/EmploymentManage.vue | 249 ++++
src/hooks/index.ts | 1
pnpm-lock.yaml | 289 ++-
src/services/api/FlexEnterpriseWoker.ts | 54
src/views/EmploymentManage/AddOrEditEmployment.vue | 19
src/services/api/FlexEnterprise.ts | 108 +
src/services/api/User.ts | 11
src/views/EmploymentManage/components/AddOrEditEmploymentView.vue | 201 +++
src/router/index.ts | 108 +
src/views/EmploymentManage/EmploymentManageDetail.vue | 10
src/views/FlexJobManage/components/BatchImportDialog.vue | 109 +
src/hooks/dic.ts | 54
src/services/api/Common.ts | 15
src/services/api/FlexWorker.ts | 336 +++++
src/services/api/typings.d.ts | 758 ++++++++++++
config/config.ts | 10
src/constants/enum.ts | 24
src/views/EmploymentManage/EmploymentManageArrange.vue | 237 +++
src/views/EmploymentManage/constants/index.ts | 1
src/views/FlexJobManage/FlexJobManage.vue | 350 +++++
src/utils/common/file.ts | 13
src/services/api/index.ts | 8
src/views/FlexJobManage/constants/index.ts | 1
src/services/api/UserResume.ts | 46
package.json | 4
31 files changed, 3,519 insertions(+), 158 deletions(-)
diff --git a/config/config.ts b/config/config.ts
index 8a42988..4a5b1e7 100644
--- a/config/config.ts
+++ b/config/config.ts
@@ -4,20 +4,20 @@
/**
* @description 缃戦〉title
*/
- title: '涔愰亣淇濅簯鏈嶅姟',
+ title: '鐏靛伐浼佷笟瀹㈡埛绔�',
errorLog: 'production',
- loginFormTitle: '涔愰亣淇濅簯鏈嶅姟',
+ loginFormTitle: '鐏靛伐浼佷笟瀹㈡埛绔�',
});
type AppType = 'one' | 'rz' | 'jx';
const AppSettingMap = {
one: {
- title: '涔愰亣淇濅簯鏈嶅姟',
- loginFormTitle: '涔愰亣淇濅簯鏈嶅姟',
- MenuTitle: '涔愰亣淇濅簯鏈嶅姟',
+ title: '鐏靛伐浼佷笟瀹㈡埛绔�',
+ loginFormTitle: '鐏靛伐浼佷笟瀹㈡埛绔�',
+ MenuTitle: '鐏靛伐浼佷笟瀹㈡埛绔�',
},
rz: {
title: '鑱氬崈淇濈悊璧旂鐞嗗伐鍏�',
diff --git a/package.json b/package.json
index a009c7f..d522be6 100644
--- a/package.json
+++ b/package.json
@@ -4,11 +4,7 @@
"version": "1.0.0",
"scripts": {
"dev": "cross-env vite",
- "dev:jx": "cross-env VITE_AppType=jx vite",
"build": "cross-env NODE_OPTIONS=--max_old_space_size=16000 vite build",
- "build:rz": "cross-env NODE_OPTIONS=--max_old_space_size=16000 VITE_AppType=rz vite build --mode rz",
- "build:jx": "cross-env NODE_OPTIONS=--max_old_space_size=16000 VITE_AppType=jx vite build --mode jx",
- "build:all": "run-p build build:jx",
"build:staging": "cross-env vite build --mode staging",
"build:staging:jenkins": "cross-env NODE_OPTIONS=--max_old_space_size=16000 vite build --mode staging",
"preview": "vite preview",
diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml
index 613b3ae..16613f6 100644
--- a/pnpm-lock.yaml
+++ b/pnpm-lock.yaml
@@ -1,5 +1,9 @@
lockfileVersion: '6.0'
+settings:
+ autoInstallPeers: true
+ excludeLinksFromLockfile: false
+
overrides:
vue: 3.5.11
@@ -17,13 +21,13 @@
version: 1.0.3(@bole-12333/chat-kit@1.0.1)(@tiptap/core@2.1.13)(@tiptap/extension-document@2.1.13)(@tiptap/extension-image@2.1.13)(@tiptap/extension-mention@2.1.13)(@tiptap/extension-paragraph@2.1.13)(@tiptap/extension-placeholder@2.1.13)(@tiptap/extension-text@2.1.13)(@tiptap/pm@2.1.13)(@tiptap/suggestion@2.1.13)(dayjs@1.11.6)(vue@3.5.11)
'@bole-core/components':
specifier: latest
- version: 1.3.2(@bole-core/core@1.0.2)(@bole-core/sass-utils@0.0.1)(@element-plus/icons-vue@2.3.1)(@tanstack/vue-query@4.37.1)(@videojs-player/vue@1.0.0)(@vueuse/core@11.1.0)(@vueuse/shared@11.1.0)(dayjs@1.11.6)(element-plus@2.9.1)(lodash@4.17.21)(mitt@3.0.0)(senin-help@1.0.5)(senin-vue@1.0.4)(video.js@7.20.3)(vue-component-type-helpers@2.1.6)(vue@3.5.11)
+ version: 1.3.10(@bole-core/core@1.0.7)(@bole-core/sass-utils@0.0.1)(@element-plus/icons-vue@2.3.1)(@tanstack/vue-query@4.37.1)(@videojs-player/vue@1.0.0)(@vueuse/core@11.1.0)(@vueuse/shared@11.1.0)(dayjs@1.11.6)(element-plus@2.9.1)(lodash@4.17.21)(mitt@3.0.0)(senin-help@1.0.5)(senin-vue@1.0.4)(video.js@7.20.3)(vue-component-type-helpers@2.1.6)(vue@3.5.11)
'@bole-core/core':
specifier: latest
- version: 1.0.2(@ywwlmm/openapi@0.0.3)(ali-oss@6.21.0)(axios@1.7.7)(dayjs@1.11.6)(element-plus@2.9.1)(file-saver@2.0.5)(jszip@3.10.1)(lodash@4.17.21)(senior-request@1.0.1)(vue-router@4.4.5)(vue@3.5.11)(xlsx-style@0.8.13)(xlsx@0.18.5)
+ version: 1.0.7(@ywwlmm/openapi@0.0.3)(ali-oss@6.21.0)(axios@1.7.7)(dayjs@1.11.6)(element-plus@2.9.1)(file-saver@2.0.5)(jszip@3.10.1)(lodash@4.17.21)(senior-request@1.0.1)(vue-router@4.4.5)(vue@3.5.11)(xlsx-style@0.8.13)(xlsx@0.18.5)
'@bole-core/pretty-layout':
specifier: latest
- version: 1.2.0(@bole-core/core@1.0.2)(@bole-core/sass-utils@0.0.1)(@element-plus/icons-vue@2.3.1)(@vueuse/core@11.1.0)(element-plus@2.9.1)(fuse.js@6.6.2)(lottie-web@5.10.2)(path-browserify@1.0.1)(path-to-regexp@6.2.1)(pinia@2.2.4)(vue-router@4.4.5)(vue@3.5.11)
+ version: 1.2.0(@bole-core/core@1.0.7)(@bole-core/sass-utils@0.0.1)(@element-plus/icons-vue@2.3.1)(@vueuse/core@11.1.0)(element-plus@2.9.1)(fuse.js@6.6.2)(lottie-web@5.10.2)(path-browserify@1.0.1)(path-to-regexp@6.2.1)(pinia@2.2.4)(vue-router@4.4.5)(vue@3.5.11)
'@bole-core/sass-utils':
specifier: latest
version: 0.0.1(element-plus@2.9.1)
@@ -44,13 +48,13 @@
version: 4.37.1(vue@3.5.11)
'@tencentcloud/call-uikit-vue':
specifier: ^3.1.5
- version: 3.1.5(react-native@0.76.5)(react@19.0.0)
+ version: 3.1.5
'@tencentcloud/chat-uikit-vue':
specifier: ^2.0.0
version: 2.0.0(@tiptap/core@2.1.13)(@tiptap/extension-document@2.1.13)(@tiptap/extension-image@2.1.13)(@tiptap/extension-mention@2.1.13)(@tiptap/extension-paragraph@2.1.13)(@tiptap/extension-placeholder@2.1.13)(@tiptap/extension-text@2.1.13)(@tiptap/pm@2.1.13)(@tiptap/suggestion@2.1.13)(react-native@0.76.5)(react@19.0.0)(vue@3.5.11)
'@tencentcloud/tui-core':
specifier: ^2.0.0
- version: 2.0.0(react-native@0.76.5)(react@19.0.0)
+ version: 2.0.0
'@videojs-player/vue':
specifier: ^1.0.0
version: 1.0.0(@types/video.js@7.3.49)(video.js@7.20.3)(vue@3.5.11)
@@ -2117,9 +2121,9 @@
peerDependencies:
'@tencentcloud/chat-uikit-engine': '*'
lodash: '*'
- vue: '*'
+ vue: 3.5.11
dependencies:
- '@tencentcloud/chat-uikit-engine': 2.4.0(react-native@0.76.5)(react@19.0.0)
+ '@tencentcloud/chat-uikit-engine': 2.4.0
lodash: 4.17.21
vue: 3.5.11(typescript@4.8.4)
dev: false
@@ -2138,7 +2142,7 @@
'@tiptap/pm': ^2.0.0-beta.220
'@tiptap/suggestion': ^2.0.0-beta.220
dayjs: '*'
- vue: '*'
+ vue: 3.5.11
dependencies:
'@bole-12333/chat-kit': 1.0.1(@tencentcloud/chat-uikit-engine@2.4.0)(lodash@4.17.21)(vue@3.5.11)
'@tiptap/core': 2.1.13(@tiptap/pm@2.1.13)
@@ -2154,8 +2158,8 @@
vue: 3.5.11(typescript@4.8.4)
dev: false
- /@bole-core/components@1.3.2(@bole-core/core@1.0.2)(@bole-core/sass-utils@0.0.1)(@element-plus/icons-vue@2.3.1)(@tanstack/vue-query@4.37.1)(@videojs-player/vue@1.0.0)(@vueuse/core@11.1.0)(@vueuse/shared@11.1.0)(dayjs@1.11.6)(element-plus@2.9.1)(lodash@4.17.21)(mitt@3.0.0)(senin-help@1.0.5)(senin-vue@1.0.4)(video.js@7.20.3)(vue-component-type-helpers@2.1.6)(vue@3.5.11):
- resolution: {integrity: sha512-sMCgoaKtJi3nPP3MrMx5cs0IjI0Tbes3YJF1AHN3TItR549aYc+vb+mkU34MjWh7EzqTE40htPxJueAGT6tMWg==}
+ /@bole-core/components@1.3.10(@bole-core/core@1.0.7)(@bole-core/sass-utils@0.0.1)(@element-plus/icons-vue@2.3.1)(@tanstack/vue-query@4.37.1)(@videojs-player/vue@1.0.0)(@vueuse/core@11.1.0)(@vueuse/shared@11.1.0)(dayjs@1.11.6)(element-plus@2.9.1)(lodash@4.17.21)(mitt@3.0.0)(senin-help@1.0.5)(senin-vue@1.0.4)(video.js@7.20.3)(vue-component-type-helpers@2.1.6)(vue@3.5.11):
+ resolution: {integrity: sha512-SRE33nhD4i8MQVvBGbCGH++RfozRM74ctmkhCOCeCoZnlKSqI/i9UlYVrg1Yre5P9TLjh7vEXmSI4TlALrTNXQ==}
peerDependencies:
'@bole-core/core': '*'
'@bole-core/sass-utils': '*'
@@ -2171,10 +2175,10 @@
senin-help: '*'
senin-vue: '*'
video.js: '*'
- vue: '*'
+ vue: 3.5.11
vue-component-type-helpers: ^2.1.6
dependencies:
- '@bole-core/core': 1.0.2(@ywwlmm/openapi@0.0.3)(ali-oss@6.21.0)(axios@1.7.7)(dayjs@1.11.6)(element-plus@2.9.1)(file-saver@2.0.5)(jszip@3.10.1)(lodash@4.17.21)(senior-request@1.0.1)(vue-router@4.4.5)(vue@3.5.11)(xlsx-style@0.8.13)(xlsx@0.18.5)
+ '@bole-core/core': 1.0.7(@ywwlmm/openapi@0.0.3)(ali-oss@6.21.0)(axios@1.7.7)(dayjs@1.11.6)(element-plus@2.9.1)(file-saver@2.0.5)(jszip@3.10.1)(lodash@4.17.21)(senior-request@1.0.1)(vue-router@4.4.5)(vue@3.5.11)(xlsx-style@0.8.13)(xlsx@0.18.5)
'@bole-core/sass-utils': 0.0.1(element-plus@2.9.1)
'@element-plus/icons-vue': 2.3.1(vue@3.5.11)
'@tanstack/vue-query': 4.37.1(vue@3.5.11)
@@ -2192,8 +2196,8 @@
vue-component-type-helpers: 2.1.6
dev: false
- /@bole-core/core@1.0.2(@ywwlmm/openapi@0.0.3)(ali-oss@6.21.0)(axios@1.7.7)(dayjs@1.11.6)(element-plus@2.9.1)(file-saver@2.0.5)(jszip@3.10.1)(lodash@4.17.21)(senior-request@1.0.1)(vue-router@4.4.5)(vue@3.5.11)(xlsx-style@0.8.13)(xlsx@0.18.5):
- resolution: {integrity: sha512-v5XqgmuaFe1l5tBe9CHytW8UhqI8rh2m8R2J7F2F46XZy5wh7vGfiHshuaooTbfK6ex9A06jcepIWwDOklLs+A==}
+ /@bole-core/core@1.0.7(@ywwlmm/openapi@0.0.3)(ali-oss@6.21.0)(axios@1.7.7)(dayjs@1.11.6)(element-plus@2.9.1)(file-saver@2.0.5)(jszip@3.10.1)(lodash@4.17.21)(senior-request@1.0.1)(vue-router@4.4.5)(vue@3.5.11)(xlsx-style@0.8.13)(xlsx@0.18.5):
+ resolution: {integrity: sha512-VICs9m+qAaMvORNcaKSP1Gkr4thhxvwooh2hd7fBmkIYqDitOYmcssBsPno7jjp+5fuZYQ3LwHQ9Vl/whbTpCw==}
peerDependencies:
'@ywwlmm/openapi': '*'
ali-oss: '*'
@@ -2204,7 +2208,7 @@
jszip: '*'
lodash: '*'
senior-request: '*'
- vue: '*'
+ vue: 3.5.11
vue-router: '*'
xlsx: '*'
xlsx-style: '*'
@@ -2224,7 +2228,7 @@
xlsx-style: 0.8.13(patch_hash=6ixwdxwh5a3amidwu6vee22jpi)
dev: false
- /@bole-core/pretty-layout@1.2.0(@bole-core/core@1.0.2)(@bole-core/sass-utils@0.0.1)(@element-plus/icons-vue@2.3.1)(@vueuse/core@11.1.0)(element-plus@2.9.1)(fuse.js@6.6.2)(lottie-web@5.10.2)(path-browserify@1.0.1)(path-to-regexp@6.2.1)(pinia@2.2.4)(vue-router@4.4.5)(vue@3.5.11):
+ /@bole-core/pretty-layout@1.2.0(@bole-core/core@1.0.7)(@bole-core/sass-utils@0.0.1)(@element-plus/icons-vue@2.3.1)(@vueuse/core@11.1.0)(element-plus@2.9.1)(fuse.js@6.6.2)(lottie-web@5.10.2)(path-browserify@1.0.1)(path-to-regexp@6.2.1)(pinia@2.2.4)(vue-router@4.4.5)(vue@3.5.11):
resolution: {integrity: sha512-LvneMdMfGj6dpFR7voQd2F+v02P4zYHGP3BAWKcrTj8BMeWXRt08Sz7qBrhq1F8lidjqi7TCttQbx2cEV1qBEA==}
peerDependencies:
'@bole-core/core': '*'
@@ -2237,10 +2241,10 @@
path-browserify: '*'
path-to-regexp: '*'
pinia: '*'
- vue: '*'
+ vue: 3.5.11
vue-router: '*'
dependencies:
- '@bole-core/core': 1.0.2(@ywwlmm/openapi@0.0.3)(ali-oss@6.21.0)(axios@1.7.7)(dayjs@1.11.6)(element-plus@2.9.1)(file-saver@2.0.5)(jszip@3.10.1)(lodash@4.17.21)(senior-request@1.0.1)(vue-router@4.4.5)(vue@3.5.11)(xlsx-style@0.8.13)(xlsx@0.18.5)
+ '@bole-core/core': 1.0.7(@ywwlmm/openapi@0.0.3)(ali-oss@6.21.0)(axios@1.7.7)(dayjs@1.11.6)(element-plus@2.9.1)(file-saver@2.0.5)(jszip@3.10.1)(lodash@4.17.21)(senior-request@1.0.1)(vue-router@4.4.5)(vue@3.5.11)(xlsx-style@0.8.13)(xlsx@0.18.5)
'@bole-core/sass-utils': 0.0.1(element-plus@2.9.1)
'@element-plus/icons-vue': 2.3.1(vue@3.5.11)
'@vueuse/core': 11.1.0(vue@3.5.11)
@@ -2274,7 +2278,7 @@
resolution: {integrity: sha512-33Cfr0zjbc3Dd8d5b1IgzXRAgXH0c2Gv19VI4snS25V/x9Z41eg769tC+Us1x+vqgQQhgD5YUjLnkpkrQfeMSw==}
peerDependencies:
qrcode: ^1.5.0
- vue: ^3.0.0
+ vue: 3.5.11
dependencies:
qrcode: 1.5.4
vue: 3.5.11(typescript@4.8.4)
@@ -2922,7 +2926,7 @@
/@element-plus/icons-vue@2.3.1(vue@3.5.11):
resolution: {integrity: sha512-XxVUZv48RZAd87ucGS48jPf6pKu0yV5UCg9f4FFwtrYxXOwWuVJo6wOvSLKEoMQKjv8GsX/mhP6UsC1lRwbUWg==}
peerDependencies:
- vue: ^3.2.0
+ vue: 3.5.11
dependencies:
vue: 3.5.11(typescript@4.8.4)
dev: false
@@ -3300,7 +3304,7 @@
/@iconify/vue@4.0.0(vue@3.5.11):
resolution: {integrity: sha512-73z81Yf2HISfehu3qvN9GqL1OnUO7wEMKkiFwVGJ2pqAdGCR8FrVylhRhka+6U+gFLlng0ynnT20svk3jJYwow==}
peerDependencies:
- vue: '>=3'
+ vue: 3.5.11
dependencies:
'@iconify/types': 2.0.0
vue: 3.5.11(typescript@4.8.4)
@@ -4203,7 +4207,7 @@
dependencies:
'@babel/core': 7.25.7
postcss: 7.0.39
- postcss-syntax: 0.36.2(postcss-html@0.36.0)(postcss-jsx@0.36.4)(postcss-less@3.1.4)(postcss-markdown@0.36.0)(postcss-scss@2.1.1)(postcss@7.0.39)
+ postcss-syntax: 0.36.2(postcss-html@0.36.0)(postcss-less@3.1.4)(postcss-scss@2.1.1)(postcss@7.0.39)
transitivePeerDependencies:
- supports-color
dev: false
@@ -4216,7 +4220,7 @@
postcss-syntax: '>=0.36.2'
dependencies:
postcss: 7.0.39
- postcss-syntax: 0.36.2(postcss-html@0.36.0)(postcss-jsx@0.36.4)(postcss-less@3.1.4)(postcss-markdown@0.36.0)(postcss-scss@2.1.1)(postcss@7.0.39)
+ postcss-syntax: 0.36.2(postcss-html@0.36.0)(postcss-less@3.1.4)(postcss-scss@2.1.1)(postcss@7.0.39)
remark: 13.0.0
unist-util-find-all-after: 3.0.2
transitivePeerDependencies:
@@ -4242,7 +4246,7 @@
resolution: {integrity: sha512-QzCQ94g2oZQcEfI4nfqa6Qr3aFXtXiEH17Jho+QFl73c7epqsWNcyP3ovF1fgJz5jEOE5OYtwgkoaRKIRaSigg==}
peerDependencies:
'@vue/composition-api': ^1.1.2
- vue: ^2.5.0 || ^3.0.0
+ vue: 3.5.11
peerDependenciesMeta:
'@vue/composition-api':
optional: true
@@ -4254,60 +4258,76 @@
vue-demi: 0.13.11(vue@3.5.11)
dev: false
- /@tencentcloud/call-uikit-vue2.6@3.3.9(react-native@0.76.5)(react@19.0.0)(vue@3.5.11):
- resolution: {integrity: sha512-EWXc+wqGXlWSmkR/ucKdwPpe+tOXwtYDL2wUD3C/XW4pmKldtxRIIWIzDzo9upPTeojZMfIIoOC/che7wwE9KQ==}
+ /@tencentcloud/call-engine-js@3.2.0(react-native@0.76.5)(react@19.0.0):
+ resolution: {integrity: sha512-IcDgkD2IICHkQh9WkeWsfwL9gecok89wIEFJPTVVFhC7fTLe4obOCI42TV4n+1sREm8BdGkAYvOurGf6CpXCng==}
dependencies:
'@tencentcloud/chat': 3.5.2(react-native@0.76.5)(react@19.0.0)
- '@tencentcloud/tui-core': 2.4.0(react-native@0.76.5)(react@19.0.0)
+ core-js: 3.38.1
+ eventemitter3: 4.0.7
+ rtc-detect: 0.0.5
+ trtc-cloud-js-sdk: 2.9.3
+ tuikit-logger: 0.0.4-beta.1
+ transitivePeerDependencies:
+ - react
+ - react-native
+ dev: false
+
+ /@tencentcloud/call-uikit-vue2.6@4.0.8(react-native@0.76.5)(react@19.0.0)(vue@3.5.11):
+ resolution: {integrity: sha512-lRxCQ+V684FahkBWEhHhq1mOXgLJPkt/XEfNayYqQmzP8X01FlxLr+xJshnBbi6Hs6B/R1ak0d5vk8EsniQr1g==}
+ dependencies:
+ '@tencentcloud/call-engine-js': 3.2.0(react-native@0.76.5)(react@19.0.0)
+ '@tencentcloud/chat': 3.5.2(react-native@0.76.5)(react@19.0.0)
+ '@tencentcloud/tui-core': 2.5.1
'@vue/composition-api': 1.7.2(vue@3.5.11)
- tuicall-engine-webrtc: 3.1.6(react-native@0.76.5)(react@19.0.0)
transitivePeerDependencies:
- react
- react-native
- vue
dev: false
- /@tencentcloud/call-uikit-vue2@3.3.9(react-native@0.76.5)(react@19.0.0):
- resolution: {integrity: sha512-xAa1eQGoYj6PKoaSLxNXHPXTO5A/ld8A5Oy9Ps3qjEQWaOIkei8cqJfRX5tUJiQSeNJAxME/GrqLueIARshnTg==}
+ /@tencentcloud/call-uikit-vue2@4.0.8(react-native@0.76.5)(react@19.0.0):
+ resolution: {integrity: sha512-vwWv/Wd7349EhI1JTCPpL4ZgHFrxAyuU5v8U2aqzElQO3Uv2HHAowr7DkbFfzbAm0oDvcXWBqwBcb7rDvM1h7w==}
dependencies:
+ '@tencentcloud/call-engine-js': 3.2.0(react-native@0.76.5)(react@19.0.0)
'@tencentcloud/chat': 3.5.2(react-native@0.76.5)(react@19.0.0)
- '@tencentcloud/tui-core': 2.4.0(react-native@0.76.5)(react@19.0.0)
- tuicall-engine-webrtc: 3.1.6(react-native@0.76.5)(react@19.0.0)
+ '@tencentcloud/tui-core': 2.5.1
transitivePeerDependencies:
- react
- react-native
dev: false
- /@tencentcloud/call-uikit-vue@3.1.5(react-native@0.76.5)(react@19.0.0):
+ /@tencentcloud/call-uikit-vue@3.1.5:
resolution: {integrity: sha512-xblFYyol6rXMYKv5NAy45K/VwGIKPCheqUevjoE3Jt7dVqYQMdlXkbWcjcoY1lVmr2545Ej2QN0Xo+PGAHkD1g==}
dependencies:
- '@tencentcloud/tui-core': 2.4.0(react-native@0.76.5)(react@19.0.0)
- tuicall-engine-webrtc: 3.1.6(react-native@0.76.5)(react@19.0.0)
- transitivePeerDependencies:
- - react
- - react-native
+ '@tencentcloud/tui-core': 2.5.1
+ tuicall-engine-webrtc: 3.1.7
dev: false
- /@tencentcloud/call-uikit-vue@3.3.9(react-native@0.76.5)(react@19.0.0):
- resolution: {integrity: sha512-fFwQSAU+PVqantxbabRZa268BBBcv+hIX265Ag3ogYcrKq/hEo8XyH7nkjZL8wkQ2hFvnkwUgMMLXVeAgyMsng==}
+ /@tencentcloud/call-uikit-vue@4.0.8(react-native@0.76.5)(react@19.0.0):
+ resolution: {integrity: sha512-eRq0yfhojCJYpywJ2WhRf0UI+oNM5EPOc3F6wskkvHasoySp0NdxwlusX3LAq0WevnxCJl3xZD6fPMnzpndqjQ==}
dependencies:
+ '@tencentcloud/call-engine-js': 3.2.0(react-native@0.76.5)(react@19.0.0)
'@tencentcloud/chat': 3.5.2(react-native@0.76.5)(react@19.0.0)
- '@tencentcloud/tui-core': 2.4.0(react-native@0.76.5)(react@19.0.0)
- tuicall-engine-webrtc: 3.1.6(react-native@0.76.5)(react@19.0.0)
+ '@tencentcloud/tui-core': 2.5.1
transitivePeerDependencies:
- react
- react-native
dev: false
- /@tencentcloud/chat-uikit-engine@2.4.0(react-native@0.76.5)(react@19.0.0):
+ /@tencentcloud/chat-uikit-engine@2.4.0:
resolution: {integrity: sha512-zE+bygEROaqgeMXXO+X2+2x8JH55mnb9c1sYQVQ507FlFT0maHxEQPOq8/EZBWowUDDlYoWbHh1EBAXEAI3dgA==}
dependencies:
- '@tencentcloud/chat': 3.5.2(react-native@0.76.5)(react@19.0.0)
+ '@tencentcloud/chat': 3.5.7
tim-profanity-filter-plugin: 1.1.0
tim-upload-plugin: 1.4.2
- transitivePeerDependencies:
- - react
- - react-native
+ dev: false
+
+ /@tencentcloud/chat-uikit-engine@2.5.1:
+ resolution: {integrity: sha512-++6jXbEtc0HxVD4Zdbse1gp1pbMQfco9/NgQBenLwA38FI+v2kmtt5ccc/xHEMxqAqc671E8dB/zYZQTc1074g==}
+ dependencies:
+ '@tencentcloud/chat': 3.5.7
+ tim-profanity-filter-plugin: 1.1.0
+ tim-upload-plugin: 1.4.2
dev: false
/@tencentcloud/chat-uikit-vue@2.0.0(@tiptap/core@2.1.13)(@tiptap/extension-document@2.1.13)(@tiptap/extension-image@2.1.13)(@tiptap/extension-mention@2.1.13)(@tiptap/extension-paragraph@2.1.13)(@tiptap/extension-placeholder@2.1.13)(@tiptap/extension-text@2.1.13)(@tiptap/pm@2.1.13)(@tiptap/suggestion@2.1.13)(react-native@0.76.5)(react@19.0.0)(vue@3.5.11):
@@ -4323,12 +4343,12 @@
'@tiptap/pm': ^2.0.0-beta.220
'@tiptap/suggestion': ^2.0.0-beta.220
dependencies:
- '@tencentcloud/call-uikit-vue': 3.3.9(react-native@0.76.5)(react@19.0.0)
- '@tencentcloud/call-uikit-vue2': 3.3.9(react-native@0.76.5)(react@19.0.0)
- '@tencentcloud/call-uikit-vue2.6': 3.3.9(react-native@0.76.5)(react@19.0.0)(vue@3.5.11)
- '@tencentcloud/chat-uikit-engine': 2.4.0(react-native@0.76.5)(react@19.0.0)
- '@tencentcloud/tui-core': 2.4.0(react-native@0.76.5)(react@19.0.0)
- '@tencentcloud/tui-customer-service-plugin': 2.2.6(@tencentcloud/tui-core@2.4.0)(vue@3.5.11)
+ '@tencentcloud/call-uikit-vue': 4.0.8(react-native@0.76.5)(react@19.0.0)
+ '@tencentcloud/call-uikit-vue2': 4.0.8(react-native@0.76.5)(react@19.0.0)
+ '@tencentcloud/call-uikit-vue2.6': 4.0.8(react-native@0.76.5)(react@19.0.0)(vue@3.5.11)
+ '@tencentcloud/chat-uikit-engine': 2.5.1
+ '@tencentcloud/tui-core': 2.5.1
+ '@tencentcloud/tui-customer-service-plugin': 2.2.6(@tencentcloud/tui-core@2.5.1)(vue@3.5.11)
'@tiptap/core': 2.1.13(@tiptap/pm@2.1.13)
'@tiptap/extension-document': 2.1.13(@tiptap/core@2.1.13)
'@tiptap/extension-image': 2.1.13(@tiptap/core@2.1.13)
@@ -4352,15 +4372,19 @@
/@tencentcloud/chat@3.5.2(react-native@0.76.5)(react@19.0.0):
resolution: {integrity: sha512-UuGswGE3jaPgAFHA5kMDASI4Vq5p3lzeK9YisN5kkl9dcxh7BKbxTp5qtD8Fy7tj4VcWbytCb6ytCufmThbDXA==}
dependencies:
- '@tencentcloud/react-native-push': 1.1.0(react-native@0.76.5)(react@19.0.0)
- '@tencentcloud/uni-app-push': 1.1.0
+ '@tencentcloud/react-native-push': 1.2.0(react-native@0.76.5)(react@19.0.0)
+ '@tencentcloud/uni-app-push': 1.2.0
transitivePeerDependencies:
- react
- react-native
dev: false
- /@tencentcloud/react-native-push@1.1.0(react-native@0.76.5)(react@19.0.0):
- resolution: {integrity: sha512-6TvPhNnKrBvd6j9dUwFLpkmV9WkdkaQstNvzdK1nIWQgWCTJGFnyiNDEn8zwN2VZkG+MzjYwNqMcVkMMU9Ao2g==}
+ /@tencentcloud/chat@3.5.7:
+ resolution: {integrity: sha512-uxACmaFPqV8jXcORBwVSHc0qgKvnHzRg9kC8kHAqCGbsnsm8525JwFzU6ByckGCNqNWUx/5W70EISYAboLuTvQ==}
+ dev: false
+
+ /@tencentcloud/react-native-push@1.2.0(react-native@0.76.5)(react@19.0.0):
+ resolution: {integrity: sha512-/GI4J1LNnbCz1LxJ6WHtYhymoVg8ot5gASJ9o/YczgghynnZf7b9rfe2d8Z43YjhPog9Rx1Jfdqb3WVa8T7w0A==}
peerDependencies:
react: '*'
react-native: '>= 0.75'
@@ -4369,46 +4393,40 @@
react-native: 0.76.5(@babel/core@7.25.7)(@babel/preset-env@7.25.8)(react@19.0.0)
dev: false
- /@tencentcloud/tui-core@2.0.0(react-native@0.76.5)(react@19.0.0):
+ /@tencentcloud/tui-core@2.0.0:
resolution: {integrity: sha512-KBwDFWFV+IGtAZ82uCjRi891nMQcAen0wZHdPUUTSNHaWGjYiwOAHD7yw4gC1c5DYqVYMa3tVA7bSBd/hKVZKg==}
dependencies:
- '@tencentcloud/chat': 3.5.2(react-native@0.76.5)(react@19.0.0)
+ '@tencentcloud/chat': 3.5.7
tim-profanity-filter-plugin: 0.9.0
tim-upload-plugin: 1.3.0
- transitivePeerDependencies:
- - react
- - react-native
dev: false
- /@tencentcloud/tui-core@2.4.0(react-native@0.76.5)(react@19.0.0):
- resolution: {integrity: sha512-OFXHoi8CQlPtWvNRLApg0wonWbW79uoTgAqqffqWO1icx3xDYd2RZDHMzpBexOsE3CHpWokrfXrqiXkpOmYWew==}
+ /@tencentcloud/tui-core@2.5.1:
+ resolution: {integrity: sha512-aXZG0INkV9WvFUHgmVQRibCs10r2u/oVb8qAEjW3maytBiLWOJQiK7dzshK9fnfadJAWQ027cpR8lCKz5r5Tlw==}
dependencies:
- '@tencentcloud/chat': 3.5.2(react-native@0.76.5)(react@19.0.0)
+ '@tencentcloud/chat': 3.5.7
tim-profanity-filter-plugin: 1.1.0
tim-upload-plugin: 1.4.2
- transitivePeerDependencies:
- - react
- - react-native
dev: false
- /@tencentcloud/tui-customer-service-plugin@2.2.6(@tencentcloud/tui-core@2.4.0)(vue@3.5.11):
+ /@tencentcloud/tui-customer-service-plugin@2.2.6(@tencentcloud/tui-core@2.5.1)(vue@3.5.11):
resolution: {integrity: sha512-Xc+Eii7qvptMqW3oONhl0UYKTJhotq0ZKdIVKy5fADMR1745aWwOxql5F0AOikuMR4iXEFQtxy7XvyfYp+o6UQ==}
peerDependencies:
'@tencentcloud/tui-core': latest
'@vue/composition-api': ^1.0.0-rc.1
- vue: ^2.0.0 || >=3.0.0
+ vue: 3.5.11
peerDependenciesMeta:
'@vue/composition-api':
optional: true
dependencies:
- '@tencentcloud/tui-core': 2.4.0(react-native@0.76.5)(react@19.0.0)
+ '@tencentcloud/tui-core': 2.5.1
'@tencentcloud/universal-api': 2.4.0
marked: 4.0.0
vue: 3.5.11(typescript@4.8.4)
dev: false
- /@tencentcloud/uni-app-push@1.1.0:
- resolution: {integrity: sha512-9z8zgAxExwuxzuxq1sFK3jmRJOKG/BNL8i9v+a3jVK/R7XL7ROE5EPWh4gRYABb9DC48NK9hwx2RFqPTlbR/xg==}
+ /@tencentcloud/uni-app-push@1.2.0:
+ resolution: {integrity: sha512-l+hTZ4IkfgTqVLkDMWaJyAdTSM6HArPZ1PYi/V7j21XwsIJh21bEBGQ6UwojuRlOIbQDuZ32o+ZkjcVn2Gj8HA==}
engines: {HBuilderX: ^3.6.8}
dev: false
@@ -5209,7 +5227,7 @@
peerDependencies:
'@types/video.js': 7.x
video.js: 7.x
- vue: 3.x
+ vue: 3.5.11
dependencies:
'@types/video.js': 7.3.49
video.js: 7.20.3
@@ -5275,7 +5293,7 @@
engines: {node: ^18.0.0 || >=20.0.0}
peerDependencies:
vite: ^5.0.0
- vue: ^3.0.0
+ vue: 3.5.11
dependencies:
'@babel/core': 7.25.7
'@babel/plugin-transform-typescript': 7.24.7(@babel/core@7.25.7)
@@ -5291,7 +5309,7 @@
engines: {node: ^18.0.0 || >=20.0.0}
peerDependencies:
vite: ^5.0.0
- vue: ^3.2.25
+ vue: 3.5.11
dependencies:
vite: 6.0.6(@types/node@18.7.18)(sass@1.83.0)(terser@5.34.1)
vue: 3.5.11(typescript@4.8.4)
@@ -5439,7 +5457,7 @@
/@vue/composition-api@1.7.2(vue@3.5.11):
resolution: {integrity: sha512-M8jm9J/laYrYT02665HkZ5l2fWTK4dcVg3BsDHm/pfz+MjDYwX+9FUaZyGwEyXEDonQYRCo0H7aLgdklcIELjw==}
peerDependencies:
- vue: '>= 2.5 < 2.7'
+ vue: 3.5.11
dependencies:
vue: 3.5.11(typescript@4.8.4)
dev: false
@@ -5567,7 +5585,7 @@
resolution: {integrity: sha512-B/Mdj9TK1peFyWaPof+Zf/mP9XuGAngaJZBwPaXBvU3aCTZlx3ltlrFFFyMV4iGBwsjSCeUCgZrtkEj9dS2Y3Q==}
peerDependencies:
'@vue/composition-api': ^1.1.0
- vue: ^2.6.0 || ^3.2.0
+ vue: 3.5.11
peerDependenciesMeta:
'@vue/composition-api':
optional: true
@@ -5608,7 +5626,7 @@
resolution: {integrity: sha512-cAZqXexLX6xo+H1N1Mv+wBSSqG4wB+BdjIuHQ50jwlelXCDxSi8gj0K/9nDS+aUZtWh6YMwS6UGCKg58jMVglA==}
peerDependencies:
'@vue/composition-api': ^1.4.1
- vue: ^2.0.0 || >=3.0.0-rc.0
+ vue: 3.5.11
peerDependenciesMeta:
'@vue/composition-api':
optional: true
@@ -5634,7 +5652,7 @@
resolution: {integrity: sha512-wt+T30c4K6dGRMVqPddexEVLa28YwxW5OFIPmzUHICjphfAuBFTTdDoyqREZNDOFJZ44ARH1WWQNCUK8koJ+Ag==}
peerDependencies:
'@vue/composition-api': ^1.1.0
- vue: ^2.6.0 || ^3.2.0
+ vue: 3.5.11
peerDependenciesMeta:
'@vue/composition-api':
optional: true
@@ -5732,7 +5750,7 @@
resolution: {integrity: sha512-Xkrdo590AhLHvzyR+U246t6T89nIWHz1weAgMuo8jEA2HS5RiUnsA4U6+iUGaQ2E5c8mYQaeNqzHQXUp9Okbiw==}
peerDependencies:
'@wangeditor-next/editor': '>=5.1.0'
- vue: ^3.0.5
+ vue: 3.5.11
dependencies:
'@wangeditor-next/editor': 5.3.14
vue: 3.5.11(typescript@4.8.4)
@@ -8063,6 +8081,7 @@
resolution: {integrity: sha512-pGjwhsmsp4kL2RTz08wcOlGN83otlqHeD/Z5T8GXZB+/YcpQ/dgo+lbU8ZsGxV0HIvqqxo9l7mqYwyYMD9bKDg==}
engines: {node: '>=0.10'}
hasBin: true
+ requiresBuild: true
dev: true
optional: true
@@ -8145,7 +8164,6 @@
domelementtype: 2.3.0
domhandler: 5.0.3
entities: 4.5.0
- dev: true
/dom-walk@0.1.2:
resolution: {integrity: sha512-6QvTW9mrGeIegrFXdtQi9pk7O/nSK6lSdXW2eqUspN5LWD7UTji2Fqw5V2YLjBpHEoU9Xl/eUWNpDeZvoyOv2w==}
@@ -8180,7 +8198,6 @@
engines: {node: '>= 4'}
dependencies:
domelementtype: 2.3.0
- dev: true
/domutils@1.7.0:
resolution: {integrity: sha512-Lgd2XcJ/NjEw+7tFvfKxOzCYKZsdct5lczQ2ZaQY8Djz7pfAD3Gbp8ySJWtreII/vDlMVmxwa6pHmdxIYgttDg==}
@@ -8202,7 +8219,6 @@
dom-serializer: 2.0.0
domelementtype: 2.3.0
domhandler: 5.0.3
- dev: true
/dot-case@3.0.4:
resolution: {integrity: sha512-Kv5nKlh6yRrdrGvxeJ2e5y2eRUpkUosIW4A2AS38zwSz27zu7ufDwQPi5Jhs3XAlGNetl3bmnGhQsMtkKJnj3w==}
@@ -8269,7 +8285,7 @@
/element-plus@2.9.1(vue@3.5.11):
resolution: {integrity: sha512-9Agqf/jt4Ugk7EZ6C5LME71sgkvauPCsnvJN12Xid2XVobjufxMGpRE4L7pS4luJMOmFAH3J0NgYEGZT5r+NDg==}
peerDependencies:
- vue: ^3.2.0
+ vue: 3.5.11
dependencies:
'@ctrl/tinycolor': 3.4.1
'@element-plus/icons-vue': 2.3.1(vue@3.5.11)
@@ -9200,6 +9216,10 @@
/event-target-shim@5.0.1:
resolution: {integrity: sha512-i/2XbnSz/uxRCU6+NdVJgKWDTM427+MqYbkQzD321DuCQJUqOuJKIA0IM2+W2xtYHdKOmZ4dR6fExsd4SXL+WQ==}
engines: {node: '>=6'}
+ dev: false
+
+ /eventemitter3@4.0.7:
+ resolution: {integrity: sha512-8guHBZCwKnFhYdHr2ysuRWErTwhoN2X8XELRlrRwpmfeY2jjuUN4taQMsULKUVo1K4DvZl+0pgfyoysHxvmvEw==}
dev: false
/execa@5.1.1:
@@ -10172,7 +10192,6 @@
domhandler: 5.0.3
domutils: 3.0.1
entities: 4.5.0
- dev: true
/http-errors@2.0.0:
resolution: {integrity: sha512-FtwrG/euBzaEjYeRqOgly7G0qviiXoJWnvEH2Z1plBdXgbyjv34pHTSb9zoeHMyDy33+DWy5Wt9Wo+TURtOYSQ==}
@@ -11076,7 +11095,6 @@
/js-tokens@8.0.0:
resolution: {integrity: sha512-PC7MzqInq9OqKyTXfIvQNcjMkODJYC8A17kAaQgeW79yfhqTWSOfjHYQ2mDDcwJ96Iibtwkfh0C7R/OvqPlgVA==}
- dev: true
/js-tokens@9.0.0:
resolution: {integrity: sha512-WriZw1luRMlmV3LGJaR6QOJjWwgLUTf89OwT2lUOyjX2dJGBwgmIkbcz+7WFZjrZM635JOIR517++e/67CP9dQ==}
@@ -12383,7 +12401,6 @@
resolution: {integrity: sha512-MqBkQh/OHTS2egovRtLk45wEyNXwF+cokD+1YPf9u5VfJiRdAiRwB2froX5Co9Rh20xs4siNPm8naNotSD6RBw==}
engines: {node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1}
hasBin: true
- dev: true
/nanoid@3.3.7:
resolution: {integrity: sha512-eSRppjcPIatRIMC1U6UngP8XFcz8MQWGQdt1MTBQ7NaAmvXDfvNxbvWV3x2y6CdEUciCSsDHDQZbhYaB8QEo2g==}
@@ -12458,6 +12475,7 @@
/node-addon-api@7.1.1:
resolution: {integrity: sha512-5m3bsyrjFWE1xf7nz7YXdN4udnVtXK6/Yfgn5qnahL6bCkf2yKt4k3nuTKAtT4r3IG8JNR2ncsIMdZuAzJjHQQ==}
+ requiresBuild: true
dev: true
optional: true
@@ -13212,7 +13230,6 @@
/picocolors@1.0.0:
resolution: {integrity: sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==}
- dev: true
/picocolors@1.1.0:
resolution: {integrity: sha512-TQ92mBOW0l3LeMeyLV6mzy/kWr8lkd/hp3mTg7wYK7zJhuBStmGMBG0BdeDZS/dZx1IukaX6Bk11zcln25o1Aw==}
@@ -13256,7 +13273,7 @@
peerDependencies:
'@vue/composition-api': ^1.4.0
typescript: '>=4.4.4'
- vue: ^2.6.14 || ^3.3.0
+ vue: 3.5.11
peerDependenciesMeta:
'@vue/composition-api':
optional: true
@@ -13497,7 +13514,7 @@
dependencies:
htmlparser2: 3.10.1
postcss: 7.0.39
- postcss-syntax: 0.36.2(postcss-html@0.36.0)(postcss-jsx@0.36.4)(postcss-less@3.1.4)(postcss-markdown@0.36.0)(postcss-scss@2.1.1)(postcss@7.0.39)
+ postcss-syntax: 0.36.2(postcss-html@0.36.0)(postcss-less@3.1.4)(postcss-scss@2.1.1)(postcss@7.0.39)
dev: false
/postcss-html@1.5.0:
@@ -13508,7 +13525,6 @@
js-tokens: 8.0.0
postcss: 8.4.18
postcss-safe-parser: 6.0.0(postcss@8.4.18)
- dev: true
/postcss-image-set-function@7.0.0(postcss@8.4.18):
resolution: {integrity: sha512-QL7W7QNlZuzOwBTeXEmbVckNt1FSmhQtbMRvGGqqU4Nf4xk6KUEQhAoWuMzwbSv5jxiRiSZ5Tv7eiDB9U87znA==}
@@ -13541,7 +13557,7 @@
dependencies:
'@babel/core': 7.25.7
postcss: 7.0.39
- postcss-syntax: 0.36.2(postcss-html@0.36.0)(postcss-jsx@0.36.4)(postcss-less@3.1.4)(postcss-markdown@0.36.0)(postcss-scss@2.1.1)(postcss@7.0.39)
+ postcss-syntax: 0.36.2(postcss-html@1.5.0)(postcss-scss@4.0.5)(postcss@8.4.18)
transitivePeerDependencies:
- supports-color
dev: false
@@ -13584,7 +13600,7 @@
postcss-syntax: '>=0.36.0'
dependencies:
postcss: 7.0.39
- postcss-syntax: 0.36.2(postcss-html@0.36.0)(postcss-jsx@0.36.4)(postcss-less@3.1.4)(postcss-markdown@0.36.0)(postcss-scss@2.1.1)(postcss@7.0.39)
+ postcss-syntax: 0.36.2(postcss-html@1.5.0)(postcss-scss@4.0.5)(postcss@8.4.18)
remark: 10.0.1
unist-util-find-all-after: 1.0.5
dev: false
@@ -13771,7 +13787,6 @@
postcss: ^8.3.3
dependencies:
postcss: 8.4.18
- dev: true
/postcss-sass@0.3.5:
resolution: {integrity: sha512-B5z2Kob4xBxFjcufFnhQ2HqJQ2y/Zs/ic5EZbCywCkxKd756Q40cIQ/veRDwSrw1BF6+4wUgmpm0sBASqVi65A==}
@@ -13801,7 +13816,6 @@
postcss: ^8.3.3
dependencies:
postcss: 8.4.18
- dev: true
/postcss-selector-not@8.0.0(postcss@8.4.18):
resolution: {integrity: sha512-g/juh7A83GWc3+kWL8BiS3YUIJb3XNqIVKz1kGvgN3OhoGCsPncy1qo/+q61tjy5r87OxBhSY1+hcH3yOhEW+g==}
@@ -13861,7 +13875,7 @@
postcss: 8.4.18
dev: true
- /postcss-syntax@0.36.2(postcss-html@0.36.0)(postcss-jsx@0.36.4)(postcss-less@3.1.4)(postcss-markdown@0.36.0)(postcss-scss@2.1.1)(postcss@7.0.39):
+ /postcss-syntax@0.36.2(postcss-html@0.36.0)(postcss-less@3.1.4)(postcss-scss@2.1.1)(postcss@7.0.39):
resolution: {integrity: sha512-nBRg/i7E3SOHWxF3PpF5WnJM/jQ1YpY9000OaVXlAQj6Zp/kIqJxEDWIZ67tAd7NLuk7zqN4yqe9nc0oNAOs1w==}
peerDependencies:
postcss: '>=5.0.0'
@@ -13884,10 +13898,34 @@
dependencies:
postcss: 7.0.39
postcss-html: 0.36.0(postcss-syntax@0.36.2)(postcss@7.0.39)
- postcss-jsx: 0.36.4(postcss-syntax@0.36.2)(postcss@7.0.39)
postcss-less: 3.1.4
- postcss-markdown: 0.36.0(postcss-syntax@0.36.2)(postcss@7.0.39)
postcss-scss: 2.1.1
+ dev: false
+
+ /postcss-syntax@0.36.2(postcss-html@1.5.0)(postcss-scss@4.0.5)(postcss@8.4.18):
+ resolution: {integrity: sha512-nBRg/i7E3SOHWxF3PpF5WnJM/jQ1YpY9000OaVXlAQj6Zp/kIqJxEDWIZ67tAd7NLuk7zqN4yqe9nc0oNAOs1w==}
+ peerDependencies:
+ postcss: '>=5.0.0'
+ postcss-html: '*'
+ postcss-jsx: '*'
+ postcss-less: '*'
+ postcss-markdown: '*'
+ postcss-scss: '*'
+ peerDependenciesMeta:
+ postcss-html:
+ optional: true
+ postcss-jsx:
+ optional: true
+ postcss-less:
+ optional: true
+ postcss-markdown:
+ optional: true
+ postcss-scss:
+ optional: true
+ dependencies:
+ postcss: 8.4.18
+ postcss-html: 1.5.0
+ postcss-scss: 4.0.5(postcss@8.4.18)
dev: false
/postcss-value-parser@3.3.1:
@@ -13922,7 +13960,6 @@
nanoid: 3.3.4
picocolors: 1.0.0
source-map-js: 1.0.2
- dev: true
/postcss@8.4.49:
resolution: {integrity: sha512-OCVPnIObs4N29kxTjzLfUryOkvZEq+pf8jTF0lg8E7uETuWHA+v7j3c/xJmiqpX450191LlmZfUKkXxkTry7nA==}
@@ -14988,6 +15025,10 @@
resolution: {integrity: sha512-53e/4a4lT96K004mqDnLDE+upNSpBLRMfFgYCeIw3Gvuw9F17nxLP5v8MOVLly4/Epomxkx4SXrOFJJMxD2pIw==}
dev: false
+ /rtc-detect@0.0.5:
+ resolution: {integrity: sha512-VANIELbaoIkZRj4gyiCCbTM+/ASy0eNgF35jCs+rrGxzYvD7YIBajEbGGZeh+5ZCNAX8/rT8IVRdpuallf174Q==}
+ dev: false
+
/run-applescript@7.0.0:
resolution: {integrity: sha512-9by4Ij99JUr/MCFBUkDKLWK3G9HVXmabKz9U5MlIAIuvuzkiOicRYs8XJLxX+xahD+mLiiCYDqF9dKAgtzKP1A==}
engines: {node: '>=18'}
@@ -15173,7 +15214,7 @@
file-saver: '*'
lodash: '*'
semver: '*'
- vue: '*'
+ vue: 3.5.11
xlsx: '*'
xlsx-style: '*'
dependencies:
@@ -15201,7 +15242,7 @@
mitt: '*'
semver: '*'
senin-help: '*'
- vue: '*'
+ vue: 3.5.11
dependencies:
'@tanstack/vue-query': 4.37.1(vue@3.5.11)
axios: 1.7.7
@@ -15532,7 +15573,6 @@
/source-map-js@1.0.2:
resolution: {integrity: sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw==}
engines: {node: '>=0.10.0'}
- dev: true
/source-map-js@1.2.1:
resolution: {integrity: sha512-UXWMKhLOwVKb728IUtQPXxfYU+usdybtUrK/8uGE8CQMvrhOpwvzDBwj0QhSL7MQc7vIsISBG8VQ8+IDQxpfQA==}
@@ -16089,7 +16129,7 @@
postcss-sass: 0.4.4
postcss-scss: 2.1.1
postcss-selector-parser: 6.1.1
- postcss-syntax: 0.36.2(postcss-html@0.36.0)(postcss-jsx@0.36.4)(postcss-less@3.1.4)(postcss-markdown@0.36.0)(postcss-scss@2.1.1)(postcss@7.0.39)
+ postcss-syntax: 0.36.2(postcss-html@0.36.0)(postcss-less@3.1.4)(postcss-scss@2.1.1)(postcss@7.0.39)
postcss-value-parser: 4.2.0
resolve-from: 5.0.0
slash: 3.0.0
@@ -16196,7 +16236,7 @@
postcss-sass: 0.3.5
postcss-scss: 2.1.1
postcss-selector-parser: 3.1.2
- postcss-syntax: 0.36.2(postcss-html@0.36.0)(postcss-jsx@0.36.4)(postcss-less@3.1.4)(postcss-markdown@0.36.0)(postcss-scss@2.1.1)(postcss@7.0.39)
+ postcss-syntax: 0.36.2(postcss-html@1.5.0)(postcss-scss@4.0.5)(postcss@8.4.18)
postcss-value-parser: 3.3.1
resolve-from: 4.0.0
signal-exit: 3.0.7
@@ -16552,8 +16592,20 @@
trtc-sdk-v5: 5.6.2
dev: false
+ /trtc-cloud-js-sdk@2.9.3:
+ resolution: {integrity: sha512-4pZmNNoD1RjmhCIEA1HVRe/NIWDO8+w9hBpy8fJYa2B07la4Xc7QzCHnVZb7JgNoa6f3MVfUuOrtyrMsUMnt/Q==}
+ dependencies:
+ trtc-sdk-v5: 5.11.1
+ dev: false
+
/trtc-js-sdk@4.15.19:
resolution: {integrity: sha512-FFVvaji65d7+aq5o4hE+5lamvL1CEolNTPavaN7sRzh8Bb5UdDieBL9jV+lfxCnYpJ5lMi1YJt+EynDPX20Asw==}
+ dependencies:
+ webrtc-adapter: 8.2.3
+ dev: false
+
+ /trtc-sdk-v5@5.11.1:
+ resolution: {integrity: sha512-7EPZx3UUrvBAU9HynXsIcgI91wYWTYKbEkYUp186EDwgVEzc+v4uDL0427AY1PBI8tgf2ednO4qFk/C8crTSPQ==}
dependencies:
webrtc-adapter: 8.2.3
dev: false
@@ -16636,15 +16688,16 @@
tslib: 1.14.1
typescript: 4.8.4
- /tuicall-engine-webrtc@3.1.6(react-native@0.76.5)(react@19.0.0):
- resolution: {integrity: sha512-NdRwZTHbqp4LnDEoRfQDa7Z1oH4g156j27awgy2PYO4dBtm7EjAJLFKZeaZZzErU67uW4EuSBRMeCeFx91JKpQ==}
+ /tuicall-engine-webrtc@3.1.7:
+ resolution: {integrity: sha512-MRye9/x/8Gy5aRAfEACLtGhK5RcBLAev7cgCGi7OLNt0Uj28mEJkt1tHs4p7xTQiQj6vcB+7OVTdsxuSq7EmOA==}
dependencies:
- '@tencentcloud/chat': 3.5.2(react-native@0.76.5)(react@19.0.0)
+ '@tencentcloud/chat': 3.5.7
rtc-ai-denoiser: 1.1.7
trtc-cloud-js-sdk: 2.5.0
- transitivePeerDependencies:
- - react
- - react-native
+ dev: false
+
+ /tuikit-logger@0.0.4-beta.1:
+ resolution: {integrity: sha512-Ky83B1p88xakmfZ2f92cU0YxfolyxnQBv14tQpvnuHcMTnVR2Rjy8tityDGwF+pnxrAhJ7H7OPB/4rFdWVncIw==}
dev: false
/type-check@0.4.0:
@@ -17037,7 +17090,7 @@
peerDependencies:
'@babel/parser': ^7.15.8
'@nuxt/kit': ^3.2.2
- vue: 2 || 3
+ vue: 3.5.11
peerDependenciesMeta:
'@babel/parser':
optional: true
@@ -17537,7 +17590,7 @@
requiresBuild: true
peerDependencies:
'@vue/composition-api': ^1.0.0-rc.1
- vue: ^3.0.0-0 || ^2.6.0
+ vue: 3.5.11
peerDependenciesMeta:
'@vue/composition-api':
optional: true
@@ -17552,7 +17605,7 @@
requiresBuild: true
peerDependencies:
'@vue/composition-api': ^1.0.0-rc.1
- vue: ^3.0.0-0 || ^2.6.0
+ vue: 3.5.11
peerDependenciesMeta:
'@vue/composition-api':
optional: true
@@ -17580,7 +17633,7 @@
/vue-router@4.4.5(vue@3.5.11):
resolution: {integrity: sha512-4fKZygS8cH1yCyuabAXGUAsyi1b2/o/OKgu/RUb+znIYOxPRxdkytJEx+0wGcpBE1pX6vUgh5jwWOKRGvuA/7Q==}
peerDependencies:
- vue: ^3.2.0
+ vue: 3.5.11
dependencies:
'@vue/devtools-api': 6.6.4
vue: 3.5.11(typescript@4.8.4)
@@ -17602,7 +17655,7 @@
resolution: {integrity: sha512-3Wy6QcZl0VusCCHX3vYrWSILFlrOB2EQDoySnuYmASM5cUp1FivJGfkS5lp1CutDgyRb41g32r/1QCmiBj5i1Q==}
engines: {node: '>=14.0.0'}
peerDependencies:
- vue: ^2.0.0 || ^3.0.0
+ vue: 3.5.11
peerDependenciesMeta:
vue:
optional: true
@@ -18060,7 +18113,3 @@
/zwitch@1.0.5:
resolution: {integrity: sha512-V50KMwwzqJV0NpZIZFwfOD5/lyny3WlSzRiXgA0G7VUnRlqttta1L6UQIHzd6EuBY/cHGfwTIck7w1yH6Q5zUw==}
dev: false
-
-settings:
- autoInstallPeers: true
- excludeLinksFromLockfile: false
diff --git a/src/constants/enum.ts b/src/constants/enum.ts
index f654351..9ea0c7c 100644
--- a/src/constants/enum.ts
+++ b/src/constants/enum.ts
@@ -1,3 +1,6 @@
+export const TempFolderPath =
+ 'https://parkmanagement.oss-cn-hangzhou.aliyuncs.com/FlexJob/AdminBClient';
+
export enum AreaType {
/**
* 鐪�
@@ -16,3 +19,24 @@
*/
Town,
}
+
+export enum Gender {
+ /**
+ * 鐢�
+ */
+ Male = 1,
+ /**
+ * 濂�
+ */
+ Female = 2,
+}
+
+export const GenderText = {
+ [Gender.Male]: '鐢�',
+ [Gender.Female]: '濂�',
+};
+
+export enum FlexEnterpriseSettingStatus {
+ NotSetting = -10,
+ IsSetting = 10,
+}
diff --git a/src/hooks/dic.ts b/src/hooks/dic.ts
new file mode 100644
index 0000000..e256f01
--- /dev/null
+++ b/src/hooks/dic.ts
@@ -0,0 +1,54 @@
+import * as searchSettingServices from '@/services/api/SearchSetting';
+import { useQuery } from '@tanstack/vue-query';
+import { useQueryClient } from '@tanstack/vue-query';
+
+type UseSearchSettingTypeOptions = {
+ searchType: number;
+ belongType?: number;
+ onSuccess?: (data: API.GetTypeSearchSettingList[]) => any;
+};
+
+export function useSearchSettingType({
+ searchType,
+ belongType = null,
+ onSuccess,
+}: UseSearchSettingTypeOptions) {
+ const { data, refetch } = useQuery({
+ queryKey: ['searchSettingServices/getTypeSearchSettingList', { searchType, belongType }],
+ queryFn: async () => {
+ return await searchSettingServices.getTypeSearchSettingList(
+ {
+ searchType: searchType,
+ belongType: belongType,
+ },
+ { showLoading: false }
+ );
+ },
+ placeholderData: () => [] as API.GetTypeSearchSettingList[],
+ onSuccess(data) {
+ onSuccess?.(data);
+ },
+ });
+
+ const queryClient = useQueryClient();
+
+ async function ensureSearchSettingType() {
+ return await queryClient.ensureQueryData({
+ queryKey: [
+ 'searchSettingServices/getTypeSearchSettingList',
+ { searchType: searchType, belongType: belongType },
+ ],
+ });
+ }
+
+ function getSearchSettingTypeNameById(id: string) {
+ return data.value.find((x) => x.id === id)?.name ?? '';
+ }
+
+ return {
+ searchSettingTypeList: data,
+ ensureSearchSettingType,
+ refetchSearchSettingType: refetch,
+ getSearchSettingTypeNameById,
+ };
+}
diff --git a/src/hooks/index.ts b/src/hooks/index.ts
index cbe1cbd..bc2b519 100644
--- a/src/hooks/index.ts
+++ b/src/hooks/index.ts
@@ -6,3 +6,4 @@
export * from './useEvent';
export * from './useUser';
export * from './help';
+export * from './dic';
diff --git a/src/hooks/useEvent.ts b/src/hooks/useEvent.ts
index ba5d79a..85b58e5 100644
--- a/src/hooks/useEvent.ts
+++ b/src/hooks/useEvent.ts
@@ -3,6 +3,8 @@
export type GlobalEvent = {
'home:add': any;
+ 'employment:add': any;
+ 'employment:edit': any;
};
export type GlobalEventListener<T extends keyof GlobalEvent> = (payload: GlobalEvent[T]) => any;
diff --git a/src/router/index.ts b/src/router/index.ts
index b2cd8b4..6a84aa0 100644
--- a/src/router/index.ts
+++ b/src/router/index.ts
@@ -96,6 +96,114 @@
},
},
{
+ path: '/FlexJobManage',
+ redirect: 'noRedirect',
+ component: Layout,
+ hidden: false,
+ alwaysShow: true,
+ meta: {
+ rank: 10010,
+ title: '鐏靛伐绠$悊',
+ rootMenu: true,
+ icon: 'home',
+ },
+ children: [
+ {
+ path: '/FlexJobManageList',
+ name: 'FlexJobManageList',
+ hidden: false,
+ alwaysShow: true,
+ component: () => import('@/views/FlexJobManage/FlexJobManage.vue'),
+ meta: {
+ rank: 10011,
+ title: '鐏靛伐绠$悊',
+ // rootMenu: true,
+ icon: 'home',
+ },
+ },
+ ],
+ },
+ {
+ path: '/EmploymentManage',
+ redirect: 'noRedirect',
+ component: Layout,
+ hidden: false,
+ alwaysShow: true,
+ meta: {
+ rank: 10020,
+ title: '鐢ㄤ汉绠$悊',
+ rootMenu: true,
+ icon: 'home',
+ },
+ children: [
+ {
+ path: '/EmploymentManageList',
+ name: 'EmploymentManageList',
+ hidden: false,
+ alwaysShow: true,
+ component: () => import('@/views/EmploymentManage/EmploymentManage.vue'),
+ meta: {
+ rank: 10021,
+ title: '鐢ㄤ汉绠$悊',
+ // rootMenu: true,
+ icon: 'home',
+ },
+ },
+ {
+ path: '/AddOrEditEmployment',
+ name: 'AddOrEditEmployment',
+ hidden: true,
+ alwaysShow: false,
+ component: () => import('@/views/EmploymentManage/AddOrEditEmployment.vue'),
+ meta: {
+ rank: 10022,
+ title: '鍙戝竷缂栬緫浜哄憳',
+ // rootMenu: true,
+ icon: 'home',
+ },
+ },
+ {
+ path: '/EmploymentManageDetail',
+ name: 'EmploymentManageDetail',
+ hidden: true,
+ alwaysShow: false,
+ component: () => import('@/views/EmploymentManage/EmploymentManageDetail.vue'),
+ meta: {
+ rank: 10023,
+ title: '浜哄憳绠$悊璇︽儏',
+ // rootMenu: true,
+ icon: 'home',
+ },
+ },
+ {
+ path: '/EmploymentSignList',
+ name: 'EmploymentSignList',
+ hidden: true,
+ alwaysShow: false,
+ component: () => import('@/views/EmploymentManage/EmploymentSignList.vue'),
+ meta: {
+ rank: 10024,
+ title: '鎶ュ悕鍒楄〃',
+ // rootMenu: true,
+ icon: 'home',
+ },
+ },
+ {
+ path: '/EmploymentManageArrange',
+ name: 'EmploymentManageArrange',
+ hidden: false,
+ alwaysShow: true,
+ component: () => import('@/views/EmploymentManage/EmploymentManageArrange.vue'),
+ meta: {
+ rank: 10025,
+ title: '浜哄憳瀹夋帓',
+ // rootMenu: true,
+ icon: 'home',
+ },
+ },
+ ],
+ },
+ {
path: '/Login',
name: 'Login',
hidden: true,
diff --git a/src/services/api/Common.ts b/src/services/api/Common.ts
index 93aa15e..33f7365 100644
--- a/src/services/api/Common.ts
+++ b/src/services/api/Common.ts
@@ -17,6 +17,21 @@
});
}
+/** 绗笁鏂规墜鏈哄彿楠岃瘉 鍙戦�侀獙璇佺爜 POST /api/Common/SendPhoneCertificationVerificationCode */
+export async function sendPhoneCertificationVerificationCode(
+ body: API.SendPhoneCertificationVerificationCodeInput,
+ options?: API.RequestConfig
+) {
+ return request<number>('/api/Common/SendPhoneCertificationVerificationCode', {
+ method: 'POST',
+ headers: {
+ 'Content-Type': 'application/json',
+ },
+ data: body,
+ ...(options || {}),
+ });
+}
+
/** 鍙戦�侀獙璇佺爜 POST /api/Common/SendVerificationCode */
export async function sendVerificationCode(
body: API.SendPhoneVerificationCodeByBusinessTypeInput,
diff --git a/src/services/api/FlexEnterprise.ts b/src/services/api/FlexEnterprise.ts
new file mode 100644
index 0000000..47751e0
--- /dev/null
+++ b/src/services/api/FlexEnterprise.ts
@@ -0,0 +1,108 @@
+/* eslint-disable */
+// @ts-ignore
+import { request } from '@/utils/request';
+
+/** 鏂板鎴栦慨鏀逛紒涓氱鐞� POST /api/FlexEnterprise/CreateOrEditFlexEnterprise */
+export async function createOrEditFlexEnterprise(
+ body: API.CreateOrEditFlexEnterpriseInput,
+ options?: API.RequestConfig
+) {
+ return request<string>('/api/FlexEnterprise/CreateOrEditFlexEnterprise', {
+ method: 'POST',
+ headers: {
+ 'Content-Type': 'application/json',
+ },
+ data: body,
+ ...(options || {}),
+ });
+}
+
+/** 鏂板鎴栦慨鏀归摱琛岃缃� POST /api/FlexEnterprise/CreateOrEditFlexEnterpriseBankSetting */
+export async function createOrEditFlexEnterpriseBankSetting(
+ body: API.CreateOrEditFlexEnterpriseBankInput,
+ options?: API.RequestConfig
+) {
+ return request<string>('/api/FlexEnterprise/CreateOrEditFlexEnterpriseBankSetting', {
+ method: 'POST',
+ headers: {
+ 'Content-Type': 'application/json',
+ },
+ data: body,
+ ...(options || {}),
+ });
+}
+
+/** 鏂板鎴栦慨鏀规秷鎭缃� POST /api/FlexEnterprise/CreateOrEditFlexEnterpriseMessageSetting */
+export async function createOrEditFlexEnterpriseMessageSetting(
+ body: API.CreateOrEditFlexEnterpriseMessageSettingInput,
+ options?: API.RequestConfig
+) {
+ return request<string>('/api/FlexEnterprise/CreateOrEditFlexEnterpriseMessageSetting', {
+ method: 'POST',
+ headers: {
+ 'Content-Type': 'application/json',
+ },
+ data: body,
+ ...(options || {}),
+ });
+}
+
+/** 鏂板鎴栦慨鏀圭數瀛愮璁剧疆 POST /api/FlexEnterprise/CreateOrEditFlexEnterpriseSignSetting */
+export async function createOrEditFlexEnterpriseSignSetting(
+ body: API.CreateOrEditFlexEnterpriseSignSettingInput,
+ options?: API.RequestConfig
+) {
+ return request<string>('/api/FlexEnterprise/CreateOrEditFlexEnterpriseSignSetting', {
+ method: 'POST',
+ headers: {
+ 'Content-Type': 'application/json',
+ },
+ data: body,
+ ...(options || {}),
+ });
+}
+
+/** 鍒犻櫎浼佷笟绠$悊 DELETE /api/FlexEnterprise/DeleteFlexEnterprise */
+export async function deleteFlexEnterprise(
+ // 鍙犲姞鐢熸垚鐨凱aram绫诲瀷 (闈瀊ody鍙傛暟swagger榛樿娌℃湁鐢熸垚瀵硅薄)
+ params: API.APIdeleteFlexEnterpriseParams,
+ options?: API.RequestConfig
+) {
+ return request<number>('/api/FlexEnterprise/DeleteFlexEnterprise', {
+ method: 'DELETE',
+ params: {
+ ...params,
+ },
+ ...(options || {}),
+ });
+}
+
+/** 鑾峰彇浼佷笟绠$悊鍒楄〃 POST /api/FlexEnterprise/GetFlexEnterpriseList */
+export async function getFlexEnterpriseList(
+ body: API.GetFlexEnterpriseInput,
+ options?: API.RequestConfig
+) {
+ return request<API.FlexEnterpriseDtoPageOutput>('/api/FlexEnterprise/GetFlexEnterpriseList', {
+ method: 'POST',
+ headers: {
+ 'Content-Type': 'application/json',
+ },
+ data: body,
+ ...(options || {}),
+ });
+}
+
+/** 璁剧疆浼佷笟鐘舵�� POST /api/FlexEnterprise/SetFlexEnterpriseStatus */
+export async function setFlexEnterpriseStatus(
+ body: API.SetFlexEnterpriseStatusInput,
+ options?: API.RequestConfig
+) {
+ return request<number>('/api/FlexEnterprise/SetFlexEnterpriseStatus', {
+ method: 'POST',
+ headers: {
+ 'Content-Type': 'application/json',
+ },
+ data: body,
+ ...(options || {}),
+ });
+}
diff --git a/src/services/api/FlexEnterpriseWoker.ts b/src/services/api/FlexEnterpriseWoker.ts
new file mode 100644
index 0000000..9bafeb5
--- /dev/null
+++ b/src/services/api/FlexEnterpriseWoker.ts
@@ -0,0 +1,54 @@
+/* eslint-disable */
+// @ts-ignore
+import { request } from '@/utils/request';
+
+/** C绔汉鍛樼鐞嗗垪琛� POST /api/FlexEnterpriseWoker/GetUserClientList */
+export async function getUserClientList(
+ body: API.GetUserClientForBackInput,
+ options?: API.RequestConfig
+) {
+ return request<API.GetUserClientForBackOutputPageOutput>(
+ '/api/FlexEnterpriseWoker/GetUserClientList',
+ {
+ method: 'POST',
+ headers: {
+ 'Content-Type': 'application/json',
+ },
+ data: body,
+ ...(options || {}),
+ }
+ );
+}
+
+/** C绔汉鍛樼鐞�--绛剧害璇︽儏 POST /api/FlexEnterpriseWoker/GetUserClientSignList */
+export async function getUserClientSignList(
+ body: API.GetUserClientSignListInput,
+ options?: API.RequestConfig
+) {
+ return request<API.UserClientSignListOutputPageOutput>(
+ '/api/FlexEnterpriseWoker/GetUserClientSignList',
+ {
+ method: 'POST',
+ headers: {
+ 'Content-Type': 'application/json',
+ },
+ data: body,
+ ...(options || {}),
+ }
+ );
+}
+
+/** C绔汉鍛樼鐞�--鑾峰彇浜哄憳璇︽儏 GET /api/FlexEnterpriseWoker/GetUserDetailForBack */
+export async function getUserDetailForBack(
+ // 鍙犲姞鐢熸垚鐨凱aram绫诲瀷 (闈瀊ody鍙傛暟swagger榛樿娌℃湁鐢熸垚瀵硅薄)
+ params: API.APIgetUserDetailForBackParams,
+ options?: API.RequestConfig
+) {
+ return request<API.GetUserDetailForBackOutput>('/api/FlexEnterpriseWoker/GetUserDetailForBack', {
+ method: 'GET',
+ params: {
+ ...params,
+ },
+ ...(options || {}),
+ });
+}
diff --git a/src/services/api/FlexTask.ts b/src/services/api/FlexTask.ts
new file mode 100644
index 0000000..e26d387
--- /dev/null
+++ b/src/services/api/FlexTask.ts
@@ -0,0 +1,63 @@
+/* eslint-disable */
+// @ts-ignore
+import { request } from '@/utils/request';
+
+/** 鑾峰彇浠诲姟璇︽儏 GET /api/FlexTask/GetFlexTaskDetail */
+export async function getFlexTaskDetail(
+ // 鍙犲姞鐢熸垚鐨凱aram绫诲瀷 (闈瀊ody鍙傛暟swagger榛樿娌℃湁鐢熸垚瀵硅薄)
+ params: API.APIgetFlexTaskDetailParams,
+ options?: API.RequestConfig
+) {
+ return request<API.GetFlexTaskDetailForBackOutput>('/api/FlexTask/GetFlexTaskDetail', {
+ method: 'GET',
+ params: {
+ ...params,
+ },
+ ...(options || {}),
+ });
+}
+
+/** 鑾峰彇杩愯惀绔换鍔$鐞嗗垪琛� POST /api/FlexTask/GetFlexTaskList */
+export async function getFlexTaskList(
+ body: API.GetFlexTaskForBackInput,
+ options?: API.RequestConfig
+) {
+ return request<API.FlexTaskListOutputPageOutput>('/api/FlexTask/GetFlexTaskList', {
+ method: 'POST',
+ headers: {
+ 'Content-Type': 'application/json',
+ },
+ data: body,
+ ...(options || {}),
+ });
+}
+
+/** 鑾峰彇鎶ュ悕璇︽儏 POST /api/FlexTask/GetFlexTaskWorkerList */
+export async function getFlexTaskWorkerList(
+ body: API.GetFlexTaskWorkerListInput,
+ options?: API.RequestConfig
+) {
+ return request<API.GetWorkerListForBackOutputPageOutput>('/api/FlexTask/GetFlexTaskWorkerList', {
+ method: 'POST',
+ headers: {
+ 'Content-Type': 'application/json',
+ },
+ data: body,
+ ...(options || {}),
+ });
+}
+
+/** 璁剧疆浠诲姟鎺ㄨ崘鐘舵�� POST /api/FlexTask/SetFlexTaskReRecommendStatus */
+export async function setFlexTaskReRecommendStatus(
+ body: API.SetRecommendInput,
+ options?: API.RequestConfig
+) {
+ return request<number>('/api/FlexTask/SetFlexTaskReRecommendStatus', {
+ method: 'POST',
+ headers: {
+ 'Content-Type': 'application/json',
+ },
+ data: body,
+ ...(options || {}),
+ });
+}
diff --git a/src/services/api/FlexWorker.ts b/src/services/api/FlexWorker.ts
index 8124d65..8c2cc4c 100644
--- a/src/services/api/FlexWorker.ts
+++ b/src/services/api/FlexWorker.ts
@@ -14,6 +14,66 @@
});
}
+/** 娣诲姞鑱旂郴璁板綍 GET /api/FlexWorker/AddUserResumeContractRecord */
+export async function addUserResumeContractRecord(
+ // 鍙犲姞鐢熸垚鐨凱aram绫诲瀷 (闈瀊ody鍙傛暟swagger榛樿娌℃湁鐢熸垚瀵硅薄)
+ params: API.APIaddUserResumeContractRecordParams,
+ options?: API.RequestConfig
+) {
+ return request<number>('/api/FlexWorker/AddUserResumeContractRecord', {
+ method: 'GET',
+ params: {
+ ...params,
+ },
+ ...(options || {}),
+ });
+}
+
+/** 鍙栨秷浜哄憳鏀惰棌 DELETE /api/FlexWorker/CancelUserResumeCollect */
+export async function cancelUserResumeCollect(
+ // 鍙犲姞鐢熸垚鐨凱aram绫诲瀷 (闈瀊ody鍙傛暟swagger榛樿娌℃湁鐢熸垚瀵硅薄)
+ params: API.APIcancelUserResumeCollectParams,
+ options?: API.RequestConfig
+) {
+ return request<number>('/api/FlexWorker/CancelUserResumeCollect', {
+ method: 'DELETE',
+ params: {
+ ...params,
+ },
+ ...(options || {}),
+ });
+}
+
+/** 鏀惰棌浜哄憳绠�鍘� POST /api/FlexWorker/CollectFlexWorkerResume */
+export async function collectFlexWorkerResume(
+ body: API.CollectFlexWorkerResumeInput,
+ options?: API.RequestConfig
+) {
+ return request<number>('/api/FlexWorker/CollectFlexWorkerResume', {
+ method: 'POST',
+ headers: {
+ 'Content-Type': 'application/json',
+ },
+ data: body,
+ ...(options || {}),
+ });
+}
+
+/** 鏀惰棌鍚嶇墖 GET /api/FlexWorker/CollectVisitingCard */
+export async function collectVisitingCard(
+ // 鍙犲姞鐢熸垚鐨凱aram绫诲瀷 (闈瀊ody鍙傛暟swagger榛樿娌℃湁鐢熸垚瀵硅薄)
+ params: API.APIcollectVisitingCardParams,
+ options?: API.RequestConfig
+) {
+ return request<number>('/api/FlexWorker/CollectVisitingCard', {
+ method: 'GET',
+ params: {
+ ...params,
+ },
+ ...(options || {}),
+ });
+}
+
/** 浠诲姟鍒犻櫎 DELETE /api/FlexWorker/DeleteFlexTask */
export async function deleteFlexTask(
// 鍙犲姞鐢熸垚鐨凱aram绫诲瀷 (闈瀊ody鍙傛暟swagger榛樿娌℃湁鐢熸垚瀵硅薄)
@@ -25,6 +85,79 @@
params: {
...params,
},
+ ...(options || {}),
+ });
+}
+
+/** 鍒犻櫎鍚嶇墖鏀惰棌 DELETE /api/FlexWorker/DeleteMyCardCollect */
+export async function deleteMyCardCollect(
+ // 鍙犲姞鐢熸垚鐨凱aram绫诲瀷 (闈瀊ody鍙傛暟swagger榛樿娌℃湁鐢熸垚瀵硅薄)
+ params: API.APIdeleteMyCardCollectParams,
+ options?: API.RequestConfig
+) {
+ return request<number>('/api/FlexWorker/DeleteMyCardCollect', {
+ method: 'DELETE',
+ params: {
+ ...params,
+ },
+ ...(options || {}),
+ });
+}
+
+/** 缂栬緫B绔悕鐗� POST /api/FlexWorker/EditVisitingCard */
+export async function editVisitingCard(
+ body: API.MyVisitingCardOutput,
+ options?: API.RequestConfig
+) {
+ return request<number>('/api/FlexWorker/EditVisitingCard', {
+ method: 'POST',
+ headers: {
+ 'Content-Type': 'application/json',
+ },
+ data: body,
+ ...(options || {}),
+ });
+}
+
+/** 鑾峰彇鐪佸競鍖哄垪琛� POST /api/FlexWorker/GetAreaList */
+export async function getAreaList(body: API.GetAreaListInput, options?: API.RequestConfig) {
+ return request<API.AreaDto[]>('/api/FlexWorker/GetAreaList', {
+ method: 'POST',
+ headers: {
+ 'Content-Type': 'application/json',
+ },
+ data: body,
+ ...(options || {}),
+ });
+}
+
+/** 鑾峰彇璧勬牸璇佷功鍒楄〃 GET /api/FlexWorker/GetCertificationList */
+export async function getCertificationList(options?: API.RequestConfig) {
+ return request<API.GetSearchSettingListOutput[]>('/api/FlexWorker/GetCertificationList', {
+ method: 'GET',
+ ...(options || {}),
+ });
+}
+
+/** 鑾峰彇浼佷笟绂忓埄鍒楄〃 GET /api/FlexWorker/GetEnterpriseWelfareList */
+export async function getEnterpriseWelfareList(options?: API.RequestConfig) {
+ return request<API.GetSearchSettingListOutput[]>('/api/FlexWorker/GetEnterpriseWelfareList', {
+ method: 'GET',
+ ...(options || {}),
+ });
+}
+
+/** 鑾峰彇绛剧害浜哄憳鍒楄〃 POST /api/FlexWorker/GetFlexSignWorkerList */
+export async function getFlexSignWorkerList(
+ body: API.GetFlexSignWorkerListInput,
+ options?: API.RequestConfig
+) {
+ return request<API.GetNewestWorkerListOutputPageOutput>('/api/FlexWorker/GetFlexSignWorkerList', {
+ method: 'POST',
+ headers: {
+ 'Content-Type': 'application/json',
+ },
+ data: body,
...(options || {}),
});
}
@@ -89,6 +222,209 @@
});
}
+/** 搴旇仒绠$悊-浠诲姟璇︽儏-鑾峰彇浜哄憳鎶ュ悕鍒楄〃 POST /api/FlexWorker/GetFlexTaskWorkerApplyList */
+export async function getFlexTaskWorkerApplyList(
+ body: API.GetFlexTaskWorkerApplyListInput,
+ options?: API.RequestConfig
+) {
+ return request<API.GetNewestWorkerListOutputPageOutput>(
+ '/api/FlexWorker/GetFlexTaskWorkerApplyList',
+ {
+ method: 'POST',
+ headers: {
+ 'Content-Type': 'application/json',
+ },
+ data: body,
+ ...(options || {}),
+ }
+ );
+}
+
+/** 浠诲姟绠$悊-寰呭畨鎺�/宸插畨鎺� 浜哄憳鍒楄〃 POST /api/FlexWorker/GetFlexTaskWorkerArrangeList */
+export async function getFlexTaskWorkerArrangeList(
+ body: API.GetFlexTaskWorkerArrangeListInput,
+ options?: API.RequestConfig
+) {
+ return request<API.GetNewestWorkerListOutputPageOutput>(
+ '/api/FlexWorker/GetFlexTaskWorkerArrangeList',
+ {
+ method: 'POST',
+ headers: {
+ 'Content-Type': 'application/json',
+ },
+ data: body,
+ ...(options || {}),
+ }
+ );
+}
+
+/** 楠屾敹绠$悊-浠诲姟璇︽儏-鑾峰彇鍗曚釜浜哄憳鎻愪氦楠屾敹鍐呭鍒楄〃 POST /api/FlexWorker/GetFlexTaskWorkerCheckContentDto */
+export async function getFlexTaskWorkerCheckContentDto(
+ body: API.GetFlexTaskWorkerCheckContentDtoInput,
+ options?: API.RequestConfig
+) {
+ return request<API.GetTaskWorkerCheckContentOutput>(
+ '/api/FlexWorker/GetFlexTaskWorkerCheckContentDto',
+ {
+ method: 'POST',
+ headers: {
+ 'Content-Type': 'application/json',
+ },
+ data: body,
+ ...(options || {}),
+ }
+ );
+}
+
+/** 鑾峰彇楠屾敹绠$悊 寰呴獙鏀�/宸查獙鏀�-浜哄憳鍒楄〃 POST /api/FlexWorker/GetFlexTaskWorkerCheckList */
+export async function getFlexTaskWorkerCheckList(
+ body: API.GetFlexTaskWorkerCheckListInput,
+ options?: API.RequestConfig
+) {
+ return request<API.GetNewestWorkerListOutputPageOutput>(
+ '/api/FlexWorker/GetFlexTaskWorkerCheckList',
+ {
+ method: 'POST',
+ headers: {
+ 'Content-Type': 'application/json',
+ },
+ data: body,
+ ...(options || {}),
+ }
+ );
+}
+
+/** 鎴戠殑鍚嶇墖澶� POST /api/FlexWorker/GetMyCollectVisitingCardList */
+export async function getMyCollectVisitingCardList(
+ body: API.GetCollectVisitingCardListInput,
+ options?: API.RequestConfig
+) {
+ return request<API.GetCollectVisitingCardOutputPageOutput>(
+ '/api/FlexWorker/GetMyCollectVisitingCardList',
+ {
+ method: 'POST',
+ headers: {
+ 'Content-Type': 'application/json',
+ },
+ data: body,
+ ...(options || {}),
+ }
+ );
+}
+
+/** 鑾峰彇鎴戠殑鍚嶇墖 GET /api/FlexWorker/GetMyVisitingCard */
+export async function getMyVisitingCard(options?: API.RequestConfig) {
+ return request<API.MyVisitingCardOutput>('/api/FlexWorker/GetMyVisitingCard', {
+ method: 'GET',
+ ...(options || {}),
+ });
+}
+
+/** 鑾峰彇鐏靛伐鍒楄〃 POST /api/FlexWorker/GetNewesWorkertList */
+export async function getNewesWorkertList(
+ body: API.GetNewestWorkerListInput,
+ options?: API.RequestConfig
+) {
+ return request<API.GetNewestWorkerListOutputPageOutput>('/api/FlexWorker/GetNewesWorkertList', {
+ method: 'POST',
+ headers: {
+ 'Content-Type': 'application/json',
+ },
+ data: body,
+ ...(options || {}),
+ });
+}
+
+/** 鑾峰彇鑱旂郴璁板綍 POST /api/FlexWorker/GetUserContractRecordList */
+export async function getUserContractRecordList(body: API.PageInput, options?: API.RequestConfig) {
+ return request<API.GetNewestWorkerListOutputPageOutput>(
+ '/api/FlexWorker/GetUserContractRecordList',
+ {
+ method: 'POST',
+ headers: {
+ 'Content-Type': 'application/json',
+ },
+ data: body,
+ ...(options || {}),
+ }
+ );
+}
+
+/** 鑾峰彇绠�鍘嗘敹钘忓垪琛� POST /api/FlexWorker/GetWorkerResumeCollectList */
+export async function getWorkerResumeCollectList(body: API.PageInput, options?: API.RequestConfig) {
+ return request<API.GetNewestWorkerListOutputPageOutput>(
+ '/api/FlexWorker/GetWorkerResumeCollectList',
+ {
+ method: 'POST',
+ headers: {
+ 'Content-Type': 'application/json',
+ },
+ data: body,
+ ...(options || {}),
+ }
+ );
+}
+
+/** 浼佷笟瑙g害 GET /api/FlexWorker/StopEnterpriseUserContract */
+export async function stopEnterpriseUserContract(
+ // 鍙犲姞鐢熸垚鐨凱aram绫诲瀷 (闈瀊ody鍙傛暟swagger榛樿娌℃湁鐢熸垚瀵硅薄)
+ params: API.APIstopEnterpriseUserContractParams,
+ options?: API.RequestConfig
+) {
+ return request<number>('/api/FlexWorker/StopEnterpriseUserContract', {
+ method: 'GET',
+ params: {
+ ...params,
+ },
+ ...(options || {}),
+ });
+}
+
+/** 浠诲姟浜哄憳瀹夋帓/鍙栨秷瀹夋帓 POST /api/FlexWorker/TaskWorkerArrange */
+export async function taskWorkerArrange(
+ body: API.TaskWorkerArrangeInput,
+ options?: API.RequestConfig
+) {
+ return request<number>('/api/FlexWorker/TaskWorkerArrange', {
+ method: 'POST',
+ headers: {
+ 'Content-Type': 'application/json',
+ },
+ data: body,
+ ...(options || {}),
+ });
+}
+
+/** 楠屾敹绠$悊-楠屾敹璇︽儏-瀵逛汉鍛樿繘琛岄獙鏀跺鏍� POST /api/FlexWorker/TaskWorkerCheckAcceptStatus */
+export async function taskWorkerCheckAcceptStatus(
+ body: API.TaskWorkerCheckAcceptStatusInput,
+ options?: API.RequestConfig
+) {
+ return request<number>('/api/FlexWorker/TaskWorkerCheckAcceptStatus', {
+ method: 'POST',
+ headers: {
+ 'Content-Type': 'application/json',
+ },
+ data: body,
+ ...(options || {}),
+ });
+}
+
+/** 浠诲姟浜哄憳褰曠敤/璋㈢粷 POST /api/FlexWorker/TaskWorkerHireRefuse */
+export async function taskWorkerHireRefuse(
+ body: API.TaskWorkerHireRefuseInput,
+ options?: API.RequestConfig
+) {
+ return request<number>('/api/FlexWorker/TaskWorkerHireRefuse', {
+ method: 'POST',
+ headers: {
+ 'Content-Type': 'application/json',
+ },
+ data: body,
+ ...(options || {}),
+ });
+}
+
/** 鏇存柊鎷涜仒浠诲姟鍙戝竷鐘舵�� POST /api/FlexWorker/UpdateFlexTaskReleaseStatus */
export async function updateFlexTaskReleaseStatus(
body: API.UpdateTaskReleaseStatusInput,
diff --git a/src/services/api/User.ts b/src/services/api/User.ts
new file mode 100644
index 0000000..603e2e7
--- /dev/null
+++ b/src/services/api/User.ts
@@ -0,0 +1,11 @@
+/* eslint-disable */
+// @ts-ignore
+import { request } from '@/utils/request';
+
+/** 鑾峰彇涓汉淇℃伅璇︽儏 GET /api/User/GetUserInfo */
+export async function getUserInfo(options?: API.RequestConfig) {
+ return request<API.UserDto>('/api/User/GetUserInfo', {
+ method: 'GET',
+ ...(options || {}),
+ });
+}
diff --git a/src/services/api/UserResume.ts b/src/services/api/UserResume.ts
index b10d921..3ec42a4 100644
--- a/src/services/api/UserResume.ts
+++ b/src/services/api/UserResume.ts
@@ -2,7 +2,15 @@
// @ts-ignore
import { request } from '@/utils/request';
-/** 姝ゅ鍚庣娌℃湁鎻愪緵娉ㄩ噴 GET /api/UserResume/GetUserResume */
+/** 鏍规嵁鐢ㄦ埛鑾峰彇鏈熷緟鐨勫伐浣� GET /api/UserResume/GetResumeExpectationJob */
+export async function getResumeExpectationJob(options?: API.RequestConfig) {
+ return request<API.UserResumeExpectationJobOutput>('/api/UserResume/GetResumeExpectationJob', {
+ method: 'GET',
+ ...(options || {}),
+ });
+}
+
+/** 鏍规嵁鐢ㄦ埛鑾峰彇绠�鍘� GET /api/UserResume/GetUserResume */
export async function getUserResume(options?: API.RequestConfig) {
return request<API.MyResumeOutput>('/api/UserResume/GetUserResume', {
method: 'GET',
@@ -10,7 +18,15 @@
});
}
-/** 姝ゅ鍚庣娌℃湁鎻愪緵娉ㄩ噴 GET /api/UserResume/GetUserResumeCertificateDetailById */
+/** 鏍规嵁鐢ㄦ埛鑾峰彇绠�鍘嗗熀纭�淇℃伅 GET /api/UserResume/GetUserResumeBaseInfo */
+export async function getUserResumeBaseInfo(options?: API.RequestConfig) {
+ return request<API.UserResumeBaseInfoOutput>('/api/UserResume/GetUserResumeBaseInfo', {
+ method: 'GET',
+ ...(options || {}),
+ });
+}
+
+/** 鏍规嵁璁よ瘉id鑾峰彇璁よ瘉璇︽儏 GET /api/UserResume/GetUserResumeCertificateDetailById */
export async function getUserResumeCertificateDetailById(
// 鍙犲姞鐢熸垚鐨凱aram绫诲瀷 (闈瀊ody鍙傛暟swagger榛樿娌℃湁鐢熸垚瀵硅薄)
params: API.APIgetUserResumeCertificateDetailByIdParams,
@@ -28,7 +44,7 @@
);
}
-/** 姝ゅ鍚庣娌℃湁鎻愪緵娉ㄩ噴 GET /api/UserResume/GetUserResumeCertificateList */
+/** 鏍规嵁鐢ㄦ埛ID鑾峰彇鐢ㄦ埛璁よ瘉淇℃伅 GET /api/UserResume/GetUserResumeCertificateList */
export async function getUserResumeCertificateList(options?: API.RequestConfig) {
return request<API.UserResumeCertificateListOutput[]>(
'/api/UserResume/GetUserResumeCertificateList',
@@ -39,7 +55,7 @@
);
}
-/** 姝ゅ鍚庣娌℃湁鎻愪緵娉ㄩ噴 GET /api/UserResume/GetUserResumeDetailInfo */
+/** 鑾峰彇鐢ㄦ埛绠�鍘嗚鎯� GET /api/UserResume/GetUserResumeDetailInfo */
export async function getUserResumeDetailInfo(options?: API.RequestConfig) {
return request<API.UserResumeDetailInfoOutput>('/api/UserResume/GetUserResumeDetailInfo', {
method: 'GET',
@@ -47,7 +63,7 @@
});
}
-/** 姝ゅ鍚庣娌℃湁鎻愪緵娉ㄩ噴 GET /api/UserResume/GetUserResumeWorkExperience */
+/** 鏍规嵁鐢ㄦ埛id鑾峰彇鐢ㄦ埛宸ヤ綔缁忓巻 GET /api/UserResume/GetUserResumeWorkExperience */
export async function getUserResumeWorkExperience(options?: API.RequestConfig) {
return request<API.UserResumeWorkExperienceOutput>(
'/api/UserResume/GetUserResumeWorkExperience',
@@ -58,12 +74,12 @@
);
}
-/** 姝ゅ鍚庣娌℃湁鎻愪緵娉ㄩ噴 POST /api/UserResume/SaveUserResumeBaseInfo */
+/** 淇濆瓨绠�鍘嗙殑鍩虹淇℃伅 POST /api/UserResume/SaveUserResumeBaseInfo */
export async function saveUserResumeBaseInfo(
body: API.SaveUserResumeBaseInfoInput,
options?: API.RequestConfig
) {
- return request<any>('/api/UserResume/SaveUserResumeBaseInfo', {
+ return request<number>('/api/UserResume/SaveUserResumeBaseInfo', {
method: 'POST',
headers: {
'Content-Type': 'application/json',
@@ -73,12 +89,12 @@
});
}
-/** 姝ゅ鍚庣娌℃湁鎻愪緵娉ㄩ噴 POST /api/UserResume/SaveUserResumeCertificate */
+/** 淇濆瓨鐢ㄦ埛鐨勭畝鍘嗚璇佷俊鎭� POST /api/UserResume/SaveUserResumeCertificate */
export async function saveUserResumeCertificate(
body: API.SaveUserResumeCertificateInput,
options?: API.RequestConfig
) {
- return request<any>('/api/UserResume/SaveUserResumeCertificate', {
+ return request<number>('/api/UserResume/SaveUserResumeCertificate', {
method: 'POST',
headers: {
'Content-Type': 'application/json',
@@ -88,12 +104,12 @@
});
}
-/** 姝ゅ鍚庣娌℃湁鎻愪緵娉ㄩ噴 POST /api/UserResume/SaveUserResumeDetailInfo */
+/** 淇濆瓨绠�鍘嗚鎯� POST /api/UserResume/SaveUserResumeDetailInfo */
export async function saveUserResumeDetailInfo(
body: API.SaveUserResumeDetailInfoInput,
options?: API.RequestConfig
) {
- return request<any>('/api/UserResume/SaveUserResumeDetailInfo', {
+ return request<number>('/api/UserResume/SaveUserResumeDetailInfo', {
method: 'POST',
headers: {
'Content-Type': 'application/json',
@@ -103,12 +119,12 @@
});
}
-/** 姝ゅ鍚庣娌℃湁鎻愪緵娉ㄩ噴 POST /api/UserResume/SaveUserResumeExpectationJob */
+/** 淇濆瓨鐢ㄦ埛鏈熸湜鐨勫矖浣嶄俊鎭� POST /api/UserResume/SaveUserResumeExpectationJob */
export async function saveUserResumeExpectationJob(
body: API.SaveUserResumeExpectationJobInput,
options?: API.RequestConfig
) {
- return request<any>('/api/UserResume/SaveUserResumeExpectationJob', {
+ return request<number>('/api/UserResume/SaveUserResumeExpectationJob', {
method: 'POST',
headers: {
'Content-Type': 'application/json',
@@ -118,12 +134,12 @@
});
}
-/** 姝ゅ鍚庣娌℃湁鎻愪緵娉ㄩ噴 POST /api/UserResume/SaveUserResumeWorkExperience */
+/** 淇濆瓨鐢ㄦ埛宸ヤ綔缁忓巻 POST /api/UserResume/SaveUserResumeWorkExperience */
export async function saveUserResumeWorkExperience(
body: API.SaveUserResumeWorkExperienceInput,
options?: API.RequestConfig
) {
- return request<any>('/api/UserResume/SaveUserResumeWorkExperience', {
+ return request<number>('/api/UserResume/SaveUserResumeWorkExperience', {
method: 'POST',
headers: {
'Content-Type': 'application/json',
diff --git a/src/services/api/index.ts b/src/services/api/index.ts
index 94b7246..ffe8d03 100644
--- a/src/services/api/index.ts
+++ b/src/services/api/index.ts
@@ -8,6 +8,9 @@
import * as BaseModule from './BaseModule';
import * as Common from './Common';
import * as Features from './Features';
+import * as FlexEnterprise from './FlexEnterprise';
+import * as FlexEnterpriseWoker from './FlexEnterpriseWoker';
+import * as FlexTask from './FlexTask';
import * as FlexWorker from './FlexWorker';
import * as IdentityRole from './IdentityRole';
import * as IdentityUser from './IdentityUser';
@@ -17,6 +20,7 @@
import * as Profile from './Profile';
import * as SearchSetting from './SearchSetting';
import * as Tenant from './Tenant';
+import * as User from './User';
import * as UserResume from './UserResume';
import * as Version from './Version';
export default {
@@ -26,6 +30,9 @@
BaseModule,
Common,
Features,
+ FlexEnterprise,
+ FlexEnterpriseWoker,
+ FlexTask,
FlexWorker,
IdentityRole,
IdentityUser,
@@ -35,6 +42,7 @@
Profile,
SearchSetting,
Tenant,
+ User,
UserResume,
Version,
};
diff --git a/src/services/api/typings.d.ts b/src/services/api/typings.d.ts
index cd366cf..b4ce2de 100644
--- a/src/services/api/typings.d.ts
+++ b/src/services/api/typings.d.ts
@@ -42,9 +42,9 @@
sexType?: GenderTypeEnum;
/** 璇佷功Id */
listCertionIds?: string[];
- provinceId?: string;
- cityId?: string;
- areaId?: string;
+ provinceId?: number;
+ cityId?: number;
+ areaId?: number;
address?: string;
startDate?: string;
endDate?: string;
@@ -68,8 +68,20 @@
isCache?: boolean;
}
+ interface APIaddUserResumeContractRecordParams {
+ flexWorkerId?: string;
+ }
+
interface APIapiDefinitionParams {
includeTypes?: boolean;
+ }
+
+ interface APIcancelUserResumeCollectParams {
+ flexWorkerId?: string;
+ }
+
+ interface APIcollectVisitingCardParams {
+ flexVisitingCardId?: string;
}
interface APIcreateParams {
@@ -83,6 +95,10 @@
}
interface APIdeleteDefaultConnectionStringParams {
+ id?: string;
+ }
+
+ interface APIdeleteFlexEnterpriseParams {
id?: string;
}
@@ -100,6 +116,10 @@
interface APIdeleteModuleParams {
id?: string;
+ }
+
+ interface APIdeleteMyCardCollectParams {
+ visitingCardCollectId?: string;
}
interface APIdeleteRoleParams {
@@ -164,6 +184,10 @@
moduleId?: string;
}
+ interface APIgetFlexTaskDetailParams {
+ id?: string;
+ }
+
interface APIgetFlexTaskDtoParams {
id?: string;
}
@@ -218,6 +242,10 @@
id: string;
}
+ interface APIgetUserDetailForBackParams {
+ userId?: string;
+ }
+
interface APIgetUserListByPhoneNumberParams {
phoneNumber?: string;
clientId?: string;
@@ -270,6 +298,10 @@
interface APIsetForUserParams {
userId?: string;
permissionName?: string;
+ }
+
+ interface APIstopEnterpriseUserContractParams {
+ flexWorkerId?: string;
}
interface APIupdateDefaultConnectionStringParams {
@@ -355,6 +387,21 @@
values?: Record<string, any>;
}
+ interface AreaDto {
+ id?: string;
+ areaCode?: number;
+ parentId?: number;
+ areaName?: string;
+ /** 1鐪� 2甯� 3鍖� 4闀� */
+ layer?: number;
+ sort?: number;
+ children?: AreaDto[];
+ /** 绠�鏄撴嫾闊� */
+ simpleSpelling?: string;
+ /** 蹇�熸绱� */
+ quickQuery?: string;
+ }
+
interface BaseAuthorizeDto {
moduleType?: number;
moduleId?: string;
@@ -423,6 +470,8 @@
verificationCode: string;
}
+ type ChargeTypeEnum = 1 | 2;
+
interface CheckLoginVerificationCodeInput {
messageType?: string;
phoneNumber: string;
@@ -431,6 +480,11 @@
interface ClockDto {
kind?: string;
+ }
+
+ interface CollectFlexWorkerResumeInput {
+ flexWorkerId?: string;
+ userResumeId?: string;
}
interface ConditionInfo {
@@ -449,6 +503,69 @@
interface ControllerInterfaceApiDescriptionModel {
type?: string;
+ }
+
+ interface CreateOrEditFlexEnterpriseBankInput {
+ id?: string;
+ /** 寮�鎴疯 */
+ openBank?: string;
+ /** 寮�鎴锋敮琛� */
+ openBranchBank?: string;
+ /** 閾惰璐︽埛 */
+ bankAccount?: string;
+ verifyStatus?: VerifyStatus;
+ flexEnterpirseId?: string;
+ }
+
+ interface CreateOrEditFlexEnterpriseInput {
+ id?: string;
+ /** 浼佷笟鍚嶇О */
+ enterpriseName?: string;
+ /** 娉曚汉濮撳悕 */
+ legalPersonName?: string;
+ /** 娉曚汉韬唤璇佸彿 */
+ legalPersonIdNumber?: string;
+ /** 璁よ瘉鑱旂郴浜� */
+ contact?: string;
+ /** 璁よ瘉鑱旂郴浜虹數璇� */
+ contactPhone?: string;
+ /** 绀句細缁熶竴淇$敤浠g爜 */
+ societyCreditCode?: string;
+ /** 鐪佷唤code */
+ provinceCode?: number;
+ /** 鐪佷唤鍚嶇О */
+ proviceName?: string;
+ /** 鍩庡競Code */
+ cityCode?: number;
+ /** 鍩庡競鍚嶇О */
+ cityName?: string;
+ status?: FlexEnterpriseStatus;
+ settingStatus?: FlexEnterpriseSettingStatus;
+ certificationStatus?: FlexEnterpriseCertificationStatus;
+ /** 鎵�灞炶涓� */
+ belongIndustryType?: string;
+ }
+
+ interface CreateOrEditFlexEnterpriseMessageSettingInput {
+ id?: string;
+ messageChannel?: MessageChannelEnum;
+ /** 娑堟伅璐圭敤 */
+ messageCost?: number;
+ flexEnterpirseId?: string;
+ }
+
+ interface CreateOrEditFlexEnterpriseSignSettingInput {
+ id?: string;
+ signChannel?: SignChannelEnum;
+ chargeType?: ChargeTypeEnum;
+ /** 瀹炲悕璐圭敤 */
+ realVerifyCost?: number;
+ /** 绛剧害璐圭敤 */
+ signCost?: number;
+ /** 涓�鍙d环 */
+ mergeSignCost?: number;
+ /** 浼佷笟Id */
+ flexEnterpirseId?: string;
}
interface CreateOrEditSearchInput {
@@ -512,6 +629,20 @@
interface EnableSearchSettingInput {
id: string;
status: boolean;
+ }
+
+ interface EnterpriseSignSettingDto {
+ id?: string;
+ signChannel?: SignChannelEnum;
+ chargeType?: ChargeTypeEnum;
+ /** 瀹炲悕璐圭敤 */
+ realVerifyCost?: number;
+ /** 绛剧害璐圭敤 */
+ signCost?: number;
+ /** 涓�鍙d环 */
+ mergeSignCost?: number;
+ /** 浼佷笟Id */
+ flexEnterpirseId?: string;
}
interface EntityExtensionDto {
@@ -608,19 +739,122 @@
key?: string;
}
+ interface FlexEnterpriseBankDto {
+ id?: string;
+ /** 寮�鎴疯 */
+ openBank?: string;
+ /** 寮�鎴锋敮琛� */
+ openBranchBank?: string;
+ /** 閾惰璐︽埛 */
+ bankAccount?: string;
+ verifyStatus?: VerifyStatus;
+ flexEnterpirseId?: string;
+ }
+
+ type FlexEnterpriseCertificationStatus = 10 | -10;
+
+ interface FlexEnterpriseDto {
+ id?: string;
+ /** 浼佷笟鍚嶇О */
+ enterpriseName?: string;
+ /** 娉曚汉濮撳悕 */
+ legalPersonName?: string;
+ /** 娉曚汉韬唤璇佸彿 */
+ legalPersonIdNumber?: string;
+ /** 璁よ瘉鑱旂郴浜� */
+ contact?: string;
+ /** 璁よ瘉鑱旂郴浜虹數璇� */
+ contactPhone?: string;
+ /** 绀句細缁熶竴淇$敤浠g爜 */
+ societyCreditCode?: string;
+ /** 鐪佷唤code */
+ provinceCode?: number;
+ /** 鐪佷唤鍚嶇О */
+ proviceName?: string;
+ /** 鍩庡競Code */
+ cityCode?: number;
+ /** 鍩庡競鍚嶇О */
+ cityName?: string;
+ status?: FlexEnterpriseStatus;
+ settingStatus?: FlexEnterpriseSettingStatus;
+ certificationStatus?: FlexEnterpriseCertificationStatus;
+ /** 鎵�灞炶涓� */
+ belongIndustryType?: string;
+ enterpriseSignSettingDto?: EnterpriseSignSettingDto;
+ flexEnterpriseBankDto?: FlexEnterpriseBankDto;
+ flexEnterpriseMessageSettingDto?: FlexEnterpriseMessageSettingDto;
+ }
+
+ interface FlexEnterpriseDtoPageOutput {
+ pageModel?: Pagination;
+ objectData?: any;
+ data?: FlexEnterpriseDto[];
+ }
+
+ interface FlexEnterpriseMessageSettingDto {
+ id?: string;
+ messageChannel?: MessageChannelEnum;
+ /** 娑堟伅璐圭敤 */
+ messageCost?: number;
+ flexEnterpirseId?: string;
+ }
+
+ type FlexEnterpriseSettingStatus = 10 | -10;
+
+ type FlexEnterpriseStatus = 10 | -10;
+
interface FlexTaskAideDto {
id?: string;
aideType?: FlexTaskAideEnum;
name?: string;
+ imageUrl?: string;
}
type FlexTaskAideEnum = 10 | 20;
+ type FlexTaskCheckAcceptStatusEnum = 10 | 20 | 30;
+
type FlexTaskFeeTypeEnum = 10 | 20 | 30 | 40;
+
+ interface FlexTaskListOutput {
+ taskId?: string;
+ /** 浠诲姟鍚嶇О */
+ taskName?: string;
+ releaseStatus?: FlexTaskReleaseStatusEnum;
+ /** 瀹夋帓鐘舵�� */
+ arrangeStatus?: boolean;
+ /** 鍙戝竷鏃ユ湡 */
+ startDate?: string;
+ /** 缁撴潫鏃ユ湡 */
+ endDate?: string;
+ feeType?: FlexTaskFeeTypeEnum;
+ settleType?: FlexTaskSettleTypeEnum;
+ settleStatus?: SettleStatusEnum;
+ /** 鏄惁鎺ㄨ崘 */
+ isRecommend?: boolean;
+ /** 缁撶畻鏂瑰紡 */
+ fee?: number;
+ /** 鎶ュ悕浜烘暟 */
+ applyWorkerCount?: number;
+ /** 鏄惁宸插畬鎴愰獙鏀� */
+ isOverCheck?: boolean;
+ overCheckStatus?: OverCheckStatusEnum;
+ creationTime?: string;
+ }
+
+ interface FlexTaskListOutputPageOutput {
+ pageModel?: Pagination;
+ objectData?: any;
+ data?: FlexTaskListOutput[];
+ }
type FlexTaskReleaseStatusEnum = 10 | 20;
type FlexTaskSettleTypeEnum = 10 | 20 | 30;
+
+ type FlexTaskWorkerHireEnum = 1 | 10 | 20 | 30 | 40;
+
+ type FlexWorkerEleSignEnum = 10 | 20 | 30;
type GenderTypeEnum = 1 | 2;
@@ -629,8 +863,89 @@
phoneNumber: string;
}
+ interface GetAreaListInput {
+ /** 1鐪� 2甯� 3鍖� 4闀� */
+ layer?: number;
+ /** 鐖剁骇缂栫爜 */
+ parentCode?: number;
+ }
+
+ interface GetCollectVisitingCardListInput {
+ pageModel?: Pagination;
+ }
+
+ interface GetCollectVisitingCardOutput {
+ id?: string;
+ enterpriseId?: string;
+ userId?: string;
+ name?: string;
+ headPhoto?: string;
+ phoneNum?: string;
+ weChat?: string;
+ jobName?: string;
+ email?: string;
+ companyName?: string;
+ creationTime?: string;
+ }
+
+ interface GetCollectVisitingCardOutputPageOutput {
+ pageModel?: Pagination;
+ objectData?: any;
+ data?: GetCollectVisitingCardOutput[];
+ }
+
interface GetFeatureListResultDto {
groups?: FeatureGroupDto[];
+ }
+
+ interface GetFlexEnterpriseInput {
+ pageModel?: Pagination;
+ /** 浼佷笟鍚嶇О/娉曚汉/鑱旂郴浜� */
+ searchWord?: string;
+ flexEnterpriseSettingStatus?: FlexEnterpriseSettingStatus;
+ }
+
+ interface GetFlexSignWorkerListInput {
+ pageModel?: Pagination;
+ signStatus?: FlexWorkerEleSignEnum;
+ }
+
+ interface GetFlexTaskDetailForBackOutput {
+ /** 浠诲姟Id */
+ taskId?: string;
+ /** 浠诲姟鍚嶇О */
+ taskName?: string;
+ isArrange?: boolean;
+ startDate?: string;
+ endDate?: string;
+ feeType?: FlexTaskFeeTypeEnum;
+ feeTypeName?: string;
+ settleType?: FlexTaskSettleTypeEnum;
+ /** 缁撶畻鏂瑰紡 */
+ settleTypeName?: string;
+ /** 绂忓埄 */
+ taskWeals?: FlexTaskAideDto[];
+ /** 璇佷功 */
+ taskCerts?: FlexTaskAideDto[];
+ /** 鏈嶅姟璐� */
+ fee?: number;
+ provinceId?: number;
+ cityId?: number;
+ areaId?: number;
+ /** 鐪� */
+ provinceName?: string;
+ /** 甯� */
+ cityName?: string;
+ /** 鍖哄煙 */
+ areaName?: string;
+ /** 浠诲姟鍦扮偣 */
+ address?: string;
+ creationDate?: string;
+ /** 鏈�灏忓勾榫� */
+ minAge?: number;
+ /** 鏈�澶у勾榫� */
+ maxAge?: number;
+ sexType?: GenderTypeEnum;
}
interface GetFlexTaskDtoOutput {
@@ -646,9 +961,9 @@
taskWeals?: FlexTaskAideDto[];
taskCerts?: FlexTaskAideDto[];
fee?: number;
- provinceId?: string;
- cityId?: string;
- areaId?: string;
+ provinceId?: number;
+ cityId?: number;
+ areaId?: number;
provinceName?: string;
cityName?: string;
areaName?: string;
@@ -657,6 +972,19 @@
minAge?: number;
maxAge?: number;
sexType?: GenderTypeEnum;
+ }
+
+ interface GetFlexTaskForBackInput {
+ pageModel?: Pagination;
+ /** 浠诲姟鍚嶇О */
+ taskName?: string;
+ /** 鍙戝竷寮�濮嬫棩鏈� */
+ startBeginDate?: string;
+ /** 鍙戝竷缁撴潫鏃ユ湡 */
+ startEndDate?: string;
+ releaseStatus?: FlexTaskReleaseStatusEnum;
+ /** 鏄惁鎺ㄨ崘 */
+ isRecommend?: boolean;
}
interface GetFlexTaskListByStatusInput {
@@ -676,6 +1004,8 @@
taskId?: string;
taskName?: string;
isArrange?: boolean;
+ isOverCheck?: boolean;
+ releaseStatus?: FlexTaskReleaseStatusEnum;
startDate?: string;
endDate?: string;
feeType?: FlexTaskFeeTypeEnum;
@@ -688,13 +1018,112 @@
areaName?: string;
address?: string;
applyWorkerCount?: number;
- creationDate?: string;
+ creationTime?: string;
}
interface GetFlexTaskListOutputPageOutput {
pageModel?: Pagination;
objectData?: any;
data?: GetFlexTaskListOutput[];
+ }
+
+ interface GetFlexTaskWorkerApplyListInput {
+ pageModel?: Pagination;
+ flexTaskId?: string;
+ }
+
+ interface GetFlexTaskWorkerArrangeListInput {
+ pageModel?: Pagination;
+ flexTaskId?: string;
+ /** 濮撳悕韬唤璇佸彿 */
+ searchKeys?: string;
+ /** 鏄惁宸插畨鎺� */
+ arrangStatus?: boolean;
+ }
+
+ interface GetFlexTaskWorkerCheckContentDtoInput {
+ /** 浠诲姟Id */
+ flexTaskId?: string;
+ /** 鐏靛伐Id */
+ flexWorkerId?: string;
+ }
+
+ interface GetFlexTaskWorkerCheckListInput {
+ pageModel?: Pagination;
+ /** 浠诲姟Id */
+ flexTaskId?: string;
+ checkAcceptStatus?: FlexTaskCheckAcceptStatusEnum;
+ }
+
+ interface GetFlexTaskWorkerListInput {
+ pageModel?: Pagination;
+ flexTaskId?: string;
+ }
+
+ interface GetFlexWorkerRecordOutput {
+ taskId?: string;
+ workTime?: string;
+ cityId?: string;
+ cityName?: string;
+ address?: string;
+ taskName?: string;
+ }
+
+ interface GetNewestWorkerListInput {
+ pageModel?: Pagination;
+ /** 宀椾綅Id */
+ expectationJobId?: string;
+ genderType?: GenderTypeEnum;
+ /** 韬唤 */
+ socialIdentity?: string;
+ minAge?: number;
+ maxAge?: number;
+ /** 璇佷功 */
+ certificateTypeId?: string;
+ }
+
+ interface GetNewestWorkerListOutput {
+ userId?: string;
+ userResumeId?: string;
+ name?: string;
+ idNumber?: string;
+ contactPhone?: string;
+ isRealName?: boolean;
+ age?: number;
+ avatarUrl?: string;
+ genderType?: GenderTypeEnum;
+ educationalLevel?: string;
+ socialIdentity?: string;
+ jobIds?: string[];
+ listExpectationJobName?: string[];
+ certIds?: string[];
+ listCertificateNames?: string[];
+ userResumeLifeCircles?: string[];
+ socialIdentityName?: string;
+ eduLevelName?: string;
+ arrangeCount?: number;
+ workExperience?: string;
+ freeTime?: UserResumeFreeTimeEnum;
+ jobSeekingStatus?: UserResumeJobSeekingStatusEnum;
+ creationTime?: string;
+ lastModificationTime?: string;
+ fristContractTime?: string;
+ lastContractTime?: string;
+ userSignStatus?: FlexWorkerEleSignEnum;
+ enterSignStatus?: FlexWorkerEleSignEnum;
+ hireStatus?: FlexTaskWorkerHireEnum;
+ checkAcceptStatus?: FlexTaskCheckAcceptStatusEnum;
+ arrangeStatus?: boolean;
+ applyTime?: string;
+ height?: string;
+ weight?: string;
+ workRecordList?: GetFlexWorkerRecordOutput[];
+ }
+
+ interface GetNewestWorkerListOutputPageOutput {
+ pageModel?: Pagination;
+ objectData?: any;
+ data?: GetNewestWorkerListOutput[];
}
interface GetPermissionListResultDto {
@@ -726,10 +1155,39 @@
parentId?: string;
}
+ interface GetSearchSettingListOutput {
+ id?: string;
+ name?: string;
+ searchType?: number;
+ url?: string;
+ sort?: number;
+ }
+
interface GetSearchSettingListPageOutput {
pageModel?: Pagination;
objectData?: any;
data?: GetSearchSettingList[];
+ }
+
+ interface GetTaskWorkerCheckContentOutput {
+ /** 浠诲姟Id */
+ flexTaskId?: string;
+ /** 鐏靛伐Id */
+ flexWorkerId?: string;
+ /** 濮撳悕 */
+ name?: string;
+ /** 鑱旂郴鐢佃瘽 */
+ contactPhone?: string;
+ /** 鏄惁瀹炲悕 */
+ isRealName?: boolean;
+ /** 澶村儚 */
+ avatarUrl?: string;
+ /** 鎻愪氦楠屾敹鏃堕棿 */
+ appleCheckTime?: string;
+ /** 楠屾敹鍥剧墖璺緞 */
+ checkImageUrl?: string;
+ checkImageLists?: string[];
+ checkAcceptStatus?: FlexTaskCheckAcceptStatusEnum;
}
interface GetTypeSearchSettingList {
@@ -741,6 +1199,98 @@
interface GetTypeSearchSettingListInput {
searchType: number;
belongType?: number;
+ }
+
+ interface GetUserClientForBackInput {
+ pageModel?: Pagination;
+ /** 濮撳悕/鎵嬫満/韬唤璇佸彿/瀹㈡埛 */
+ searchKeys?: string;
+ /** 鏈�杩戝綍鐢ㄦ椂闂�--寮�濮� */
+ nearlyHireDateTimeBegin?: string;
+ /** 鏈�杩戝綍鐢ㄦ椂闂�--缁撴潫 */
+ nearlyHireDateTimeEnd?: string;
+ /** 鏈�杩戠绾︽椂闂�--寮�濮� */
+ nearlySignDateTimeBegin?: string;
+ /** 鏈�杩戠绾︽椂闂�--缁撴潫 */
+ nearlySignDateTimeEnd?: string;
+ /** 瀹炲悕鐘舵�� */
+ realVerifyStatus?: boolean;
+ }
+
+ interface GetUserClientForBackOutput {
+ userId?: string;
+ userResumeId?: string;
+ /** 濮撳悕 */
+ name?: string;
+ /** 韬唤璇佸彿 */
+ idNumber?: string;
+ /** 鎵嬫満鍙� */
+ contactPhone?: string;
+ /** 骞撮緞 */
+ age?: number;
+ genderType?: GenderTypeEnum;
+ /** 甯搁┗鐪佷唤Code */
+ residentProvinceCode?: number;
+ /** 甯搁┗鍩庡競code */
+ residentCityCode?: number;
+ /** 甯搁┗鐪佷唤鍚嶇О */
+ residentProvinceName?: string;
+ /** 甯搁┗鍩庡競鍚嶇О */
+ residentCityName?: string;
+ /** 瀹炲悕鐘舵�� */
+ realVerifyStatus?: boolean;
+ /** 瀹炲悕鏃堕棿 */
+ realVerifyTime?: string;
+ nearlyWorkRecord?: NearlyFlexWorkerRecord;
+ }
+
+ interface GetUserClientForBackOutputPageOutput {
+ pageModel?: Pagination;
+ objectData?: any;
+ data?: GetUserClientForBackOutput[];
+ }
+
+ interface GetUserClientSignListInput {
+ pageModel?: Pagination;
+ userId?: string;
+ }
+
+ interface GetUserDetailForBackOutput {
+ userId?: string;
+ userResumeId?: string;
+ /** 濮撳悕 */
+ name?: string;
+ /** 韬唤璇佸彿 */
+ idNumber?: string;
+ /** 鎵嬫満鍙� */
+ contactPhone?: string;
+ /** 骞撮緞 */
+ age?: number;
+ /** 韬唤璇佹闈� */
+ certificateFrontImgUrl?: string;
+ /** 韬唤璇佸弽闈� */
+ certificateBackImgUrl?: string;
+ }
+
+ interface GetWorkerListForBackOutput {
+ userId?: string;
+ /** 濮撳悕 */
+ name?: string;
+ /** 韬唤璇佸彿鐮� */
+ idNumber?: string;
+ /** 鐢佃瘽鍙风爜 */
+ contactPhone?: string;
+ /** 骞撮緞 */
+ age?: number;
+ genderType?: GenderTypeEnum;
+ eduLevelName?: string;
+ hireStatus?: FlexTaskWorkerHireEnum;
+ }
+
+ interface GetWorkerListForBackOutputPageOutput {
+ pageModel?: Pagination;
+ objectData?: any;
+ data?: GetWorkerListForBackOutput[];
}
interface IanaTimeZone {
@@ -929,6 +1479,8 @@
resource?: string;
}
+ type MessageChannelEnum = 10 | 20;
+
interface MethodParameterApiDescriptionModel {
name?: string;
typeAsString?: string;
@@ -1026,11 +1578,48 @@
interface MyResumeOutput {
resumeBaseInfo?: UserResumeBaseInfoOutput;
resumeExpectationJob?: UserResumeExpectationJobOutput;
+ resumeCertifiCate?: UserResumeCertificateListOutput;
+ resumeCertifiDetail?: UserResumeCertificateDetailOutput;
+ resumeDetailInfo?: UserResumeDetailInfoOutput;
+ resumeWorkExperience?: UserResumeWorkExperienceOutput;
+ /** 宸ヤ綔璁板綍 */
+ resumeWorkRecordList?: UserResumeWorkerRecordOutput[];
+ }
+
+ interface MyVisitingCardOutput {
+ id?: string;
+ enterpriseId?: string;
+ userId?: string;
+ name?: string;
+ headPhoto?: string;
+ phoneNum?: string;
+ weChat?: string;
+ jobName?: string;
+ email?: string;
+ companyName?: string;
+ provinceId?: string;
+ cityId?: string;
+ areaId?: string;
+ provinceName?: string;
+ cityName?: string;
+ areaName?: string;
+ address?: string;
+ companyDesc?: string;
}
interface NameValue {
name?: string;
value?: string;
+ }
+
+ interface NearlyFlexWorkerRecord {
+ taskId?: string;
+ /** 鏈�杩戝綍鐢ㄦ椂闂� */
+ nearlyHireDateTime?: string;
+ /** 鏈�杩戠绾︽椂闂� */
+ nearlySignDateTime?: string;
+ /** 鎵�灞炲晢鎴� */
+ enterpirseName?: string;
}
interface ObjectExtensionsDto {
@@ -1052,6 +1641,8 @@
securityToken?: string;
requestId?: string;
}
+
+ type OverCheckStatusEnum = 10 | 20 | -10;
interface PageInput {
pageModel?: Pagination;
@@ -1208,6 +1799,13 @@
typeSimple?: string;
}
+ interface RoleDto {
+ /** 瑙掕壊Id */
+ id?: string;
+ /** 瑙掕壊鍚� */
+ name?: string;
+ }
+
interface SaveUserResumeBaseInfoInput {
name?: string;
socialIdentity?: string;
@@ -1216,6 +1814,10 @@
residentCityCode?: number;
residentProvinceName?: string;
residentCityName?: string;
+ /** 鑱旂郴鐢佃瘽 */
+ phoneNumber?: string;
+ /** 澶村儚 */
+ avatarUrl?: string;
}
interface SaveUserResumeCertificateInput {
@@ -1260,6 +1862,16 @@
returnUrlHash?: string;
}
+ interface SendPhoneCertificationVerificationCodeInput {
+ /** 濮撳悕 */
+ name: string;
+ /** 璇佷欢鍙风爜 */
+ identity: string;
+ /** 鐢ㄦ埛甯愬彿 */
+ mobile: string;
+ businessType?: VerificationCodeBusinessTypeEnum;
+ }
+
interface SendPhoneMessageBaseInput {
messageType?: string;
phoneNumber: string;
@@ -1276,6 +1888,11 @@
businessType?: VerificationCodeBusinessTypeEnum;
}
+ interface SetFlexEnterpriseStatusInput {
+ id?: string;
+ status?: FlexEnterpriseStatus;
+ }
+
interface SetMyModule {
moduleId?: string;
sequence?: number;
@@ -1289,10 +1906,18 @@
preViewData?: string;
}
+ interface SetRecommendInput {
+ id?: string;
+ /** 鏄惁鎺ㄨ崘 */
+ isRecommend?: boolean;
+ }
+
interface SetRoleUserInput {
userId?: string[];
roleId?: string;
}
+
+ type SettleStatusEnum = 10 | 20 | -10;
interface SetUserRoleInput {
userId?: string;
@@ -1304,6 +1929,26 @@
interface SetVersionModuleInput {
versionId: string;
modules: ModuleTypeInfo[];
+ }
+
+ type SignChannelEnum = 10 | 20;
+
+ interface TaskWorkerArrangeInput {
+ flexTaskId?: string;
+ flexWorkerId?: string;
+ arrange?: boolean;
+ }
+
+ interface TaskWorkerCheckAcceptStatusInput {
+ flexTaskId?: string;
+ flexWorkerId?: string;
+ checkAcceptStatus?: FlexTaskCheckAcceptStatusEnum;
+ }
+
+ interface TaskWorkerHireRefuseInput {
+ flexTaskId?: string;
+ flexWorkerId?: string;
+ hireStatus?: FlexTaskWorkerHireEnum;
}
interface TenantDto {
@@ -1382,6 +2027,30 @@
releaseStatus?: FlexTaskReleaseStatusEnum;
}
+ interface UserClientSignListOutput {
+ /** 鎵�灞炲晢鎴� */
+ enterpirseName?: string;
+ /** 鎶ュ悕鏃堕棿 */
+ applyTime?: string;
+ enterSignStatus?: FlexWorkerEleSignEnum;
+ /** 浼佷笟绛剧害鏃堕棿 */
+ enterSignTime?: string;
+ hireStatus?: FlexTaskWorkerHireEnum;
+ /** 褰曠敤鏃堕棿 */
+ hireDateTime?: string;
+ userSignStatus?: FlexWorkerEleSignEnum;
+ /** 鐏靛伐绛剧害鏃堕棿 */
+ userSignTime?: string;
+ /** 鐢靛瓙鍚堝悓 */
+ contractUrl?: string;
+ }
+
+ interface UserClientSignListOutputPageOutput {
+ pageModel?: Pagination;
+ objectData?: any;
+ data?: UserClientSignListOutput[];
+ }
+
interface UserData {
id?: string;
tenantId?: string;
@@ -1404,46 +2073,102 @@
items?: UserData[];
}
- interface UserResumeBaseInfoOutput {
+ interface UserDto {
+ /** 鐢ㄦ埛Id */
+ id?: string;
+ /** 鐧诲綍鐢ㄦ埛鍚嶏紙璐﹀彿锛� */
+ userName?: string;
+ /** 鍚嶇О */
name?: string;
+ /** 鐢ㄦ埛鎵嬫満鍙� */
phoneNumber?: string;
+ /** 璐︽埛鏄惁閿佷綇锛堟槸鍚︾鐢級 */
+ isLocked?: boolean;
+ /** 瑙掕壊淇℃伅 */
+ roles?: RoleDto[];
+ /** 澶囨敞 */
+ remark?: string;
+ /** 缁勭粐鏋舵瀯鍏徃id */
+ companyOrgId?: string;
+ /** 缁勭粐鏋舵瀯閮ㄩ棬id */
+ departmentOrgId?: string;
+ }
+
+ interface UserResumeBaseInfoOutput {
+ /** 濮撳悕 */
+ name?: string;
+ /** 鐢佃瘽鍙风爜 */
+ phoneNumber?: string;
+ /** 澶村儚 */
+ avatarUrl?: string;
+ genderType?: GenderTypeEnum;
+ /** 骞撮緞 */
+ age?: number;
+ /** 涓婂矖娆℃暟 */
+ arrangeCount?: number;
+ /** 韬唤璇佸彿鐮� */
+ idNumber?: string;
+ /** 韬唤 */
socialIdentity?: string;
+ /** 韬唤鍚嶇О */
socialIdentityName?: string;
+ /** 瀛﹀巻 */
educationalLevel?: string;
+ /** 瀛﹀巻鍚嶇О */
educationalLevelName?: string;
+ /** 甯搁┗鐪佷唤Code */
residentProvinceCode?: number;
+ /** 甯搁┗鍩庡競code */
residentCityCode?: number;
+ /** 甯搁┗鐪佷唤鍚嶇О */
residentProvinceName?: string;
+ /** 甯搁┗鍩庡競鍚嶇О */
residentCityName?: string;
}
interface UserResumeCertificateDetailOutput {
+ /** 绠�鍘嗚璇佽鎯匢d */
id?: string;
- userResumeId?: string;
+ /** 鐢ㄦ埛绠�鍘咺d */
+ userId?: string;
+ /** 璁よ瘉绫诲埆Id */
certificateTypeId?: string;
+ /** 璁よ瘉璇佷欢鍙烽粯璁よ韩浠借瘉 */
certificateNo?: string;
+ /** 璇佷欢寮�濮嬫椂闂� */
beginTime?: string;
+ /** 璇佷欢缁撴潫鏃堕棿 */
endTime?: string;
+ /** 鏄惁姘镐箙 */
isPermanent?: boolean;
certificateUnit?: string;
+ /** 韬唤璇佹闈� */
certificateFrontImgUrl?: string;
+ /** 韬唤璇佸弽闈� */
certificateBackImgUrl?: string;
}
interface UserResumeCertificateListOutput {
id?: string;
+ /** 璇佷功Id */
certificateTypeId?: string;
+ /** 璇佷功鍚嶇О */
certificateTypeName?: string;
+ /** 宸ヤ綔绠�鍘咺d */
userResumeId?: string;
}
interface UserResumeDetailInfoOutput {
+ /** 韬珮 */
height?: string;
+ /** 浣撻噸 */
weight?: string;
+ /** 涓汉鐢熸椿鐓� */
lifeCircleImgUrlList?: string[];
}
interface UserResumeExpectationJobOutput {
+ /** 鏈熸湜宀椾綅鍒楄〃 */
jobIdList?: IdNameOutput[];
freeTime?: UserResumeFreeTimeEnum;
jobSeekingStatus?: UserResumeJobSeekingStatusEnum;
@@ -1453,14 +2178,27 @@
type UserResumeJobSeekingStatusEnum = 1 | 2 | 3;
+ interface UserResumeWorkerRecordOutput {
+ /** 宸ヤ綔鏃堕棿 */
+ workTime?: string;
+ /** 宸ヤ綔鍦扮偣 */
+ workAddress?: string;
+ /** 宸ヤ綔鍚嶇О */
+ workName?: string;
+ }
+
interface UserResumeWorkExperienceOutput {
+ /** 宸ヤ綔骞撮檺 */
workingSeniority?: string;
+ /** 宸ヤ綔缁忛獙 */
workExperience?: string;
}
type UserTypeEnum = 1 | 2;
- type VerificationCodeBusinessTypeEnum = 10 | 11 | 20 | 30 | 40 | 70 | 900 | 910 | 920;
+ type VerificationCodeBusinessTypeEnum = 10 | 11 | 20 | 30 | 40 | 70 | 900 | 910 | 920 | 930;
+
+ type VerifyStatus = 10 | -10;
interface VersionCache {
name?: string;
diff --git a/src/utils/common/file.ts b/src/utils/common/file.ts
index 25cbd9a..7346b89 100644
--- a/src/utils/common/file.ts
+++ b/src/utils/common/file.ts
@@ -8,12 +8,17 @@
return _url.startsWith('/') ? _url : '/' + _url;
}
+type ConvertApi2FormUrlOptions = {
+ fileName?: string;
+};
+
/**
* 鎶奱pi杩斿洖鐨勮矾寰勮浆鎹负upload鐨勮矾寰�
*/
-export function convertApi2FormUrl(path: string) {
+export function convertApi2FormUrl(path: string, options: ConvertApi2FormUrlOptions = {}) {
+ const { fileName } = options;
return {
- name: setOssFileName(path),
+ name: fileName ? fileName : setOssFileName(path),
path: urlOmitDomain(path),
url: setOSSLink(path),
status: 'success',
@@ -21,8 +26,8 @@
} as UploadUserFile;
}
-export function convertApi2FormUrlOnlyOne(path: string) {
- return path ? [convertApi2FormUrl(path)] : [];
+export function convertApi2FormUrlOnlyOne(path: string, options: ConvertApi2FormUrlOptions = {}) {
+ return path ? [convertApi2FormUrl(path, options)] : [];
}
/**
diff --git a/src/views/EmploymentManage/AddOrEditEmployment.vue b/src/views/EmploymentManage/AddOrEditEmployment.vue
new file mode 100644
index 0000000..affb0b6
--- /dev/null
+++ b/src/views/EmploymentManage/AddOrEditEmployment.vue
@@ -0,0 +1,19 @@
+<template>
+ <AddOrEditEmploymentView :isDetail="false"></AddOrEditEmploymentView>
+</template>
+
+<script lang="ts">
+import { setPageTitle } from '@/utils';
+
+export default defineComponent({
+ name: 'AddOrEditEmployment',
+ beforeRouteEnter(to) {
+ to.meta.title = to.params.id ? '缂栬緫' : '鍙戝竷';
+ setPageTitle(to.meta.title as string);
+ },
+});
+</script>
+
+<script setup lang="ts">
+import AddOrEditEmploymentView from './components/AddOrEditEmploymentView.vue';
+</script>
diff --git a/src/views/EmploymentManage/EmploymentManage.vue b/src/views/EmploymentManage/EmploymentManage.vue
new file mode 100644
index 0000000..e663bc0
--- /dev/null
+++ b/src/views/EmploymentManage/EmploymentManage.vue
@@ -0,0 +1,249 @@
+<template>
+ <LoadingLayout :loading="state.loading">
+ <AppContainer>
+ <ProTableQueryFilterBar @on-reset="reset">
+ <template #query>
+ <QueryFilterItem tip-content="褰曠敤鐘舵��">
+ <FieldRadio
+ v-model="extraParamState.flexEnterpriseSettingStatus"
+ :value-enum="[
+ { label: '宸插畨鎺�', value: 1 },
+ { label: '寰呭畨鎺�', value: 0 },
+ ]"
+ buttonStyle
+ showAllBtn
+ @change="getList()"
+ />
+ </QueryFilterItem>
+ <QueryFilterItem tip-content="瀹炲悕鐘舵��">
+ <FieldRadio
+ v-model="extraParamState.flexEnterpriseSettingStatus"
+ :value-enum="[
+ { label: '鍙戝竷涓�', value: 1 },
+ { label: '宸插仠姝�', value: 0 },
+ ]"
+ buttonStyle
+ showAllBtn
+ @change="getList()"
+ />
+ </QueryFilterItem>
+ <QueryFilterItem>
+ <FieldDatePicker
+ v-model="extraParamState.flexEnterpriseSettingStatus"
+ type="daterange"
+ range-separator="~"
+ start-placeholder="璧峰鏃ユ湡"
+ end-placeholder="鎴鏃ユ湡"
+ clearable
+ @change="getList()"
+ tooltipContent="鍙戝竷鏃堕棿"
+ ></FieldDatePicker>
+ </QueryFilterItem>
+ <QueryFilterItem>
+ <SearchInput
+ v-model="extraParamState.searchWord"
+ style="width: 250px"
+ placeholder="浠诲姟鍚嶇О"
+ @on-click-search="getList"
+ @keyup.enter="getList()"
+ >
+ </SearchInput>
+ </QueryFilterItem>
+ </template>
+ <template #btn>
+ <el-button @click="goAddOrEdit()" type="primary">鍙戝竷</el-button>
+ </template>
+ </ProTableQueryFilterBar>
+ <ProTableV2
+ v-bind="proTableProps"
+ :columns="EmploymentManageColumns"
+ :operationBtns="operationBtns"
+ >
+ <template #signNum="{ row }">
+ <el-button type="text" @click="goSignList(row.id)">{{ row.signNum || 0 }}</el-button>
+ </template>
+ </ProTableV2>
+ </AppContainer>
+ </LoadingLayout>
+</template>
+
+<script setup lang="ts">
+import {
+ ProTableQueryFilterBar,
+ ProTableV2,
+ SearchInput,
+ LoadingLayout,
+ AppContainer,
+ QueryFilterItem,
+ useTable,
+ FieldDatePicker,
+ FieldRadio,
+ defineOperationBtns,
+} from '@bole-core/components';
+import * as flexEnterpriseServices from '@/services/api/FlexEnterprise';
+import { EmploymentManageColumns } from './constants';
+import { FlexEnterpriseSettingStatus, Gender } from '@/constants';
+import { OrderInputType } from '@bole-core/core';
+import { useGlobalEventContext } from '@/hooks';
+
+defineOptions({
+ name: 'EmploymentManageList',
+});
+
+const operationBtns = defineOperationBtns([
+ {
+ data: {
+ enCode: 'editBtn',
+ name: '缂栬緫',
+ },
+ emits: {
+ onClick: (role) => goAddOrEdit(role),
+ },
+ },
+ {
+ data: {
+ enCode: 'detailBtn',
+ name: '璇︽儏',
+ },
+ emits: {
+ onClick: (role) => goDetail(role),
+ },
+ },
+ {
+ data: {
+ enCode: 'publishBtn',
+ name: '鍙戝竷',
+ },
+ emits: {
+ onClick: (role) => handlePublish(role),
+ },
+ extraProps: {
+ hide: (row) => false,
+ },
+ },
+ {
+ data: {
+ enCode: 'unPublishBtn',
+ name: '鍋滄鍙戝竷',
+ },
+ emits: {
+ onClick: (role) => handleUnPublish(role),
+ },
+ extraProps: {
+ hide: (row) => false,
+ },
+ },
+ {
+ data: {
+ enCode: 'arrangeBtn',
+ name: '瀹夋帓',
+ },
+ props: { type: 'danger' },
+ emits: {
+ onClick: (role) => handleArrange(role),
+ },
+ },
+]);
+
+const router = useRouter();
+
+const BaseState = {
+ loading: true,
+};
+
+const state = reactive({ ...BaseState });
+
+const eventContext = useGlobalEventContext();
+
+eventContext.addEvent('employment:add', () => {
+ getList();
+});
+
+eventContext.addEvent('employment:edit', () => {
+ getList(paginationState.pageIndex);
+});
+
+onMounted(async () => {
+ await getList();
+ state.loading = false;
+});
+
+const {
+ getDataSource: getList,
+ proTableProps,
+ paginationState,
+ extraParamState,
+ reset,
+} = useTable(
+ async ({ pageIndex, pageSize }, extraParamState) => {
+ try {
+ let params: API.GetFlexEnterpriseInput = {
+ pageModel: {
+ rows: pageSize,
+ page: pageIndex,
+ orderInput: extraParamState.orderInput,
+ },
+ flexEnterpriseSettingStatus: extraParamState.flexEnterpriseSettingStatus,
+ searchWord: extraParamState.searchWord,
+ };
+
+ let res = await flexEnterpriseServices.getFlexEnterpriseList(params, {
+ showLoading: !state.loading,
+ });
+ return res;
+ } catch (error) {
+ console.log('error: ', error);
+ }
+ },
+ {
+ defaultExtraParams: {
+ searchWord: '',
+ orderInput: [{ property: 'id', order: OrderInputType.Desc }],
+ flexEnterpriseSettingStatus: '' as any as FlexEnterpriseSettingStatus,
+ },
+ queryKey: ['flexEnterpriseServices/getFlexEnterpriseList'],
+ columnsRenderProps: {},
+ }
+);
+
+function handlePublish(row) {
+ console.log(row);
+}
+function handleUnPublish(row) {
+ console.log(row);
+}
+
+function handleArrange(row) {
+ router.push({
+ name: 'EmploymentManageArrange',
+ params: {
+ id: row?.id ?? '',
+ },
+ });
+}
+function goAddOrEdit(row?) {
+ router.push({
+ name: 'AddOrEditEmployment',
+ params: {
+ id: row?.id ?? '',
+ },
+ });
+}
+function goDetail(row) {
+ router.push({
+ name: 'EmploymentManageDetail',
+ params: {
+ id: row?.id ?? '',
+ },
+ });
+}
+
+function goSignList(row) {
+ router.push({
+ name: 'EmploymentSignList',
+ params: {
+ id: row?.id ?? '',
+ },
+ });
+}
+</script>
diff --git a/src/views/EmploymentManage/EmploymentManageArrange.vue b/src/views/EmploymentManage/EmploymentManageArrange.vue
new file mode 100644
index 0000000..69b9636
--- /dev/null
+++ b/src/views/EmploymentManage/EmploymentManageArrange.vue
@@ -0,0 +1,237 @@
+<template>
+ <LoadingLayout :loading="state.loading">
+ <AppContainer>
+ <ProTableQueryFilterBar @on-reset="reset">
+ <template #query>
+ <QueryFilterItem tip-content="褰曠敤鐘舵��">
+ <FieldRadio
+ v-model="extraParamState.flexEnterpriseSettingStatus"
+ :value-enum="[
+ { label: '宸插畨鎺�', value: 1 },
+ { label: '寰呭畨鎺�', value: 0 },
+ ]"
+ buttonStyle
+ showAllBtn
+ @change="getList()"
+ />
+ </QueryFilterItem>
+ <QueryFilterItem tip-content="瀹炲悕鐘舵��">
+ <FieldRadio
+ v-model="extraParamState.flexEnterpriseSettingStatus"
+ :value-enum="[
+ { label: '鍙戝竷涓�', value: 1 },
+ { label: '宸插仠姝�', value: 0 },
+ ]"
+ buttonStyle
+ showAllBtn
+ @change="getList()"
+ />
+ </QueryFilterItem>
+ <QueryFilterItem>
+ <FieldDatePicker
+ v-model="extraParamState.flexEnterpriseSettingStatus"
+ type="daterange"
+ range-separator="~"
+ start-placeholder="璧峰鏃ユ湡"
+ end-placeholder="鎴鏃ユ湡"
+ clearable
+ @change="getList()"
+ tooltipContent="鍙戝竷鏃堕棿"
+ ></FieldDatePicker>
+ </QueryFilterItem>
+ <QueryFilterItem>
+ <SearchInput
+ v-model="extraParamState.searchWord"
+ style="width: 250px"
+ placeholder="浠诲姟鍚嶇О"
+ @on-click-search="getList"
+ @keyup.enter="getList()"
+ >
+ </SearchInput>
+ </QueryFilterItem>
+ </template>
+ <template #btn>
+ <el-button @click="goAddOrEdit()" type="primary">鍙戝竷</el-button>
+ </template>
+ </ProTableQueryFilterBar>
+ <ProTableV2
+ v-bind="proTableProps"
+ :columns="EmploymentArrangeColumns"
+ :operationBtns="operationBtns"
+ >
+ </ProTableV2>
+ </AppContainer>
+ </LoadingLayout>
+</template>
+
+<script setup lang="ts">
+import {
+ ProTableQueryFilterBar,
+ ProTableV2,
+ SearchInput,
+ LoadingLayout,
+ AppContainer,
+ QueryFilterItem,
+ useTable,
+ FieldDatePicker,
+ FieldRadio,
+ defineOperationBtns,
+} from '@bole-core/components';
+import * as flexEnterpriseServices from '@/services/api/FlexEnterprise';
+import { EmploymentArrangeColumns } from './constants';
+import { OrderInputType, Message } from '@bole-core/core';
+import { useGlobalEventContext } from '@/hooks';
+import { FlexEnterpriseSettingStatus } from '@/constants';
+
+defineOptions({
+ name: 'EmploymentManageArrange',
+});
+
+const operationBtns = defineOperationBtns([
+ {
+ data: {
+ enCode: 'editBtn',
+ name: '缂栬緫',
+ },
+ emits: {
+ onClick: (role) => goAddOrEdit(role),
+ },
+ },
+ {
+ data: {
+ enCode: 'detailBtn',
+ name: '璇︽儏',
+ },
+ emits: {
+ onClick: (role) => goDetail(role),
+ },
+ },
+ {
+ data: {
+ enCode: 'publishBtn',
+ name: '鍙戝竷',
+ },
+ emits: {
+ onClick: (role) => handlePublish(role),
+ },
+ extraProps: {
+ hide: (row) => false,
+ },
+ },
+ {
+ data: {
+ enCode: 'unPublishBtn',
+ name: '鍋滄鍙戝竷',
+ },
+ emits: {
+ onClick: (role) => handleUnPublish(role),
+ },
+ extraProps: {
+ hide: (row) => false,
+ },
+ },
+ {
+ data: {
+ enCode: 'arrangeBtn',
+ name: '瀹夋帓',
+ },
+ props: { type: 'danger' },
+ emits: {
+ onClick: (role) => handleArrange(role),
+ },
+ },
+]);
+
+const router = useRouter();
+
+const BaseState = {
+ loading: true,
+};
+
+const state = reactive({ ...BaseState });
+
+const eventContext = useGlobalEventContext();
+
+eventContext.addEvent('employment:add', () => {
+ getList();
+});
+
+eventContext.addEvent('employment:edit', () => {
+ getList(paginationState.pageIndex);
+});
+
+onMounted(async () => {
+ await getList();
+ state.loading = false;
+});
+
+const {
+ getDataSource: getList,
+ proTableProps,
+ paginationState,
+ extraParamState,
+ reset,
+} = useTable(
+ async ({ pageIndex, pageSize }, extraParamState) => {
+ try {
+ let params: API.GetFlexEnterpriseInput = {
+ pageModel: {
+ rows: pageSize,
+ page: pageIndex,
+ orderInput: extraParamState.orderInput,
+ },
+ flexEnterpriseSettingStatus: extraParamState.flexEnterpriseSettingStatus,
+ searchWord: extraParamState.searchWord,
+ };
+
+ let res = await flexEnterpriseServices.getFlexEnterpriseList(params, {
+ showLoading: !state.loading,
+ });
+ return res;
+ } catch (error) {
+ console.log('error: ', error);
+ }
+ },
+ {
+ defaultExtraParams: {
+ searchWord: '',
+ orderInput: [{ property: 'id', order: OrderInputType.Desc }],
+ flexEnterpriseSettingStatus: '' as any as FlexEnterpriseSettingStatus,
+ },
+ queryKey: ['flexEnterpriseServices/getFlexEnterpriseList'],
+ columnsRenderProps: {},
+ }
+);
+
+function handlePublish(row) {
+ console.log(row);
+}
+function handleUnPublish(row) {
+ console.log(row);
+}
+
+function handleArrange(row) {
+ router.push({
+ name: 'EmploymentManageArrange',
+ params: {
+ id: row?.id ?? '',
+ },
+ });
+}
+function goAddOrEdit(row?) {
+ router.push({
+ name: 'AddOrEditEmployment',
+ params: {
+ id: row?.id ?? '',
+ },
+ });
+}
+function goDetail(row) {
+ router.push({
+ name: 'EmploymentManageDetail',
+ params: {
+ id: row?.id ?? '',
+ },
+ });
+}
+</script>
diff --git a/src/views/EmploymentManage/EmploymentManageDetail.vue b/src/views/EmploymentManage/EmploymentManageDetail.vue
new file mode 100644
index 0000000..1ebb33e
--- /dev/null
+++ b/src/views/EmploymentManage/EmploymentManageDetail.vue
@@ -0,0 +1,10 @@
+<template>
+ <AddOrEditEmploymentView is-detail></AddOrEditEmploymentView>
+</template>
+
+<script setup lang="ts">
+import AddOrEditEmploymentView from './components/AddOrEditEmploymentView.vue';
+defineOptions({
+ name: 'EmploymentManageDetail',
+});
+</script>
diff --git a/src/views/EmploymentManage/EmploymentSignList.vue b/src/views/EmploymentManage/EmploymentSignList.vue
new file mode 100644
index 0000000..79703e5
--- /dev/null
+++ b/src/views/EmploymentManage/EmploymentSignList.vue
@@ -0,0 +1,163 @@
+<template>
+ <LoadingLayout :loading="state.loading">
+ <AppContainer>
+ <ProTableQueryFilterBar @on-reset="reset">
+ <template #query>
+ <QueryFilterItem tip-content="褰曠敤鐘舵��">
+ <FieldRadio
+ v-model="extraParamState.flexEnterpriseSettingStatus"
+ :value-enum="[
+ { label: '宸插綍鐢�', value: 1 },
+ { label: '寰呭綍鐢�', value: 0 },
+ ]"
+ buttonStyle
+ showAllBtn
+ @change="getList()"
+ />
+ </QueryFilterItem>
+ <QueryFilterItem>
+ <SearchInput
+ v-model="extraParamState.searchWord"
+ style="width: 250px"
+ placeholder="浠诲姟鍚嶇О"
+ @on-click-search="getList"
+ @keyup.enter="getList()"
+ >
+ </SearchInput>
+ </QueryFilterItem>
+ </template>
+ </ProTableQueryFilterBar>
+ <ProTableV2
+ v-bind="proTableProps"
+ :columns="EmploymentSignColumns"
+ :operationBtns="operationBtns"
+ >
+ </ProTableV2>
+ </AppContainer>
+ </LoadingLayout>
+</template>
+
+<script setup lang="ts">
+import {
+ ProTableQueryFilterBar,
+ ProTableV2,
+ SearchInput,
+ LoadingLayout,
+ AppContainer,
+ QueryFilterItem,
+ useTable,
+ FieldDatePicker,
+ FieldRadio,
+ defineOperationBtns,
+} from '@bole-core/components';
+import * as flexEnterpriseServices from '@/services/api/FlexEnterprise';
+import { EmploymentSignColumns } from './constants/columns';
+import { OrderInputType, Message } from '@bole-core/core';
+import { useGlobalEventContext } from '@/hooks';
+import { FlexEnterpriseSettingStatus } from '@/constants';
+import StaffInfoDialog from '@/views/FlexJobManage/components/StaffInfoDialog.vue';
+
+defineOptions({
+ name: 'EmploymentSignList',
+});
+
+const operationBtns = defineOperationBtns([
+ {
+ data: {
+ enCode: 'detailBtn',
+ name: '璇︽儏',
+ },
+ emits: {
+ onClick: (role) => openDialog(role),
+ },
+ },
+ {
+ data: {
+ enCode: 'recruitBtn',
+ name: '褰曠敤',
+ },
+ emits: {
+ onClick: (role) => handleRecruit(role),
+ },
+ extraProps: {
+ hide: (row) => false,
+ },
+ },
+ {
+ data: {
+ enCode: 'refuseBtn',
+ name: '璋㈢粷',
+ },
+ emits: {
+ onClick: (role) => handleRefuse(role),
+ },
+ extraProps: {
+ hide: (row) => false,
+ },
+ },
+]);
+
+const router = useRouter();
+
+const BaseState = {
+ loading: true,
+};
+
+const state = reactive({ ...BaseState });
+
+const eventContext = useGlobalEventContext();
+
+eventContext.addEvent('employment:add', () => {
+ getList();
+});
+
+eventContext.addEvent('employment:edit', () => {
+ getList(paginationState.pageIndex);
+});
+
+onMounted(async () => {
+ await getList();
+ state.loading = false;
+});
+
+const {
+ getDataSource: getList,
+ proTableProps,
+ paginationState,
+ extraParamState,
+ reset,
+} = useTable(
+ async ({ pageIndex, pageSize }, extraParamState) => {
+ try {
+ let params: API.GetFlexEnterpriseInput = {
+ pageModel: {
+ rows: pageSize,
+ page: pageIndex,
+ orderInput: extraParamState.orderInput,
+ },
+ flexEnterpriseSettingStatus: extraParamState.flexEnterpriseSettingStatus,
+ searchWord: extraParamState.searchWord,
+ };
+
+ let res = await flexEnterpriseServices.getFlexEnterpriseList(params, {
+ showLoading: !state.loading,
+ });
+ return res;
+ } catch (error) {
+ console.log('error: ', error);
+ }
+ },
+ {
+ defaultExtraParams: {
+ searchWord: '',
+ orderInput: [{ property: 'id', order: OrderInputType.Desc }],
+ flexEnterpriseSettingStatus: '' as any as FlexEnterpriseSettingStatus,
+ },
+ queryKey: ['flexEnterpriseServices/getFlexEnterpriseList'],
+ columnsRenderProps: {},
+ }
+);
+
+function handleRecruit(row) {}
+function handleRefuse(row) {}
+</script>
diff --git a/src/views/EmploymentManage/components/AddOrEditEmploymentView.vue b/src/views/EmploymentManage/components/AddOrEditEmploymentView.vue
new file mode 100644
index 0000000..df33a45
--- /dev/null
+++ b/src/views/EmploymentManage/components/AddOrEditEmploymentView.vue
@@ -0,0 +1,201 @@
+<template>
+ <LoadingLayout :loading="isLoading && isEdit">
+ <AppContainer>
+ <PageFormLayout title="鍩烘湰淇℃伅">
+ <ProForm :model="form" ref="productFormRef" label-width="110px" :is-read="isDetail">
+ <ProFormCol>
+ <ProFormColItem :span="12">
+ <ProFormItemV2 label="浠诲姟鍚嶇О:" prop="name">
+ <ProFormText v-model.trim="form.name" placeholder="璇疯緭鍏ヤ换鍔″悕绉�" />
+ </ProFormItemV2>
+ </ProFormColItem>
+ </ProFormCol>
+ <ProFormCol>
+ <ProFormItemV2 label="鏈嶅姟璐�:" prop="salaryType">
+ <RadioWithExtra
+ v-model="form.salaryType"
+ :value-enum="[
+ { label: '鎸夋湀', value: 1 },
+ { label: '鎸夋棩', value: 2 },
+ ]"
+ :showExtra="true"
+ >
+ <template #extra>
+ <ProFormInputNumber
+ :controls="false"
+ :min="0"
+ :max="999"
+ v-model="form.name"
+ placeholder="璇疯緭鍏�"
+ :unit="form.salaryType === 1 ? '鍏�/鏈�' : '鍏�/澶�'"
+ ></ProFormInputNumber>
+ </template>
+ </RadioWithExtra>
+ </ProFormItemV2>
+ </ProFormCol>
+ <ProFormCol>
+ <ProFormColItem :span="12">
+ <ProFormItemV2 label="缁撶畻鏂瑰紡:" prop="salaryType">
+ <ProFormRadio
+ v-model="form.salaryType"
+ :value-enum="[{ label: '鏄�', value: 1 }]"
+ ></ProFormRadio>
+ </ProFormItemV2>
+ </ProFormColItem>
+ </ProFormCol>
+ <ProFormCol>
+ <ProFormColItem :span="12">
+ <ProFormItemV2 label="骞撮緞瑕佹眰:" prop="ageRange">
+ <ProFormInputNumber
+ :controls="false"
+ :min="0"
+ v-model="form.ageStart"
+ placeholder="璇疯緭鍏�"
+ disabled
+ ></ProFormInputNumber>
+ <div class="form-input-separator">鑷�</div>
+ <ProFormInputNumber
+ :controls="false"
+ :min="0"
+ v-model="form.ageEnd"
+ placeholder="璇疯緭鍏�"
+ disabled
+ ></ProFormInputNumber>
+ </ProFormItemV2>
+ </ProFormColItem>
+ </ProFormCol>
+ <ProFormCol>
+ <ProFormColItem :span="12">
+ <ProFormItemV2 label="鎬у埆瑕佹眰:" prop="sexRequirement" required>
+ <RadioWithExtra
+ v-model="form.sexRequirement"
+ :value-enum="[
+ {
+ label: '涓嶉檺',
+ value: 1,
+ },
+ ]"
+ :showExtra="true"
+ >
+ <template #extra>
+ <div class="form-input-separator">鐢锋��</div>
+ <ProFormInputNumber
+ :controls="false"
+ :min="0"
+ v-model="form.manNumber"
+ placeholder="璇疯緭鍏�"
+ disabled
+ ></ProFormInputNumber>
+ <div class="form-input-separator">濂虫��</div>
+ <ProFormInputNumber
+ :controls="false"
+ :min="0"
+ v-model="form.womanNumber"
+ placeholder="璇疯緭鍏�"
+ disabled
+ ></ProFormInputNumber>
+ </template>
+ </RadioWithExtra>
+ </ProFormItemV2>
+ </ProFormColItem>
+ </ProFormCol>
+ </ProForm>
+ <template #footer>
+ <el-button @click="handleBack()">鍏抽棴</el-button>
+ <el-button v-if="!isDetail" type="primary" @click="handleConfirm()">淇濆瓨</el-button>
+ </template>
+ </PageFormLayout>
+ </AppContainer>
+ </LoadingLayout>
+</template>
+<script setup lang="ts">
+import {
+ LoadingLayout,
+ ProForm,
+ ProFormCol,
+ ProFormColItem,
+ AppContainer,
+ PageFormLayout,
+ ProFormItemV2,
+ ProFormText,
+ ProFormInputNumber,
+ ProFormRadio,
+} from '@bole-core/components';
+import { FormInstance } from 'element-plus';
+import { Message } from '@bole-core/core';
+import { useQuery } from '@tanstack/vue-query';
+import { useGlobalEventContext, useRouteView } from '@/hooks';
+import * as flexTaskServices from '@/services/api/FlexTask';
+
+defineOptions({
+ name: 'AddOrEditEmploymentView',
+});
+type Props = {
+ isDetail: boolean;
+};
+defineProps<Props>();
+const route = useRoute();
+const id = route.params.id as string;
+const isEdit = !!id;
+
+const eventContext = useGlobalEventContext();
+
+const { closeViewPush } = useRouteView();
+
+const form = reactive({
+ name: '',
+ salaryType: 1,
+ ageStart: 0,
+ ageEnd: 0,
+ sexRequirement: 1,
+ manNumber: 0,
+ womanNumber: 0,
+});
+
+const { isLoading } = useQuery({
+ queryKey: ['flexTaskServices/getFlexTaskDetail', id],
+ queryFn: async () => {
+ return await flexTaskServices.getFlexTaskDetail(
+ { id: id },
+ {
+ showLoading: false,
+ }
+ );
+ },
+ onSuccess(data) {
+ form.name = data.taskName;
+ },
+ enabled: isEdit,
+});
+
+function handleBack() {
+ closeViewPush(route, {
+ name: 'EmploymentManageList',
+ });
+}
+const productFormRef = ref<FormInstance>();
+function handleConfirm() {
+ if (!productFormRef.value) return;
+ productFormRef.value.validate((valid) => {
+ if (valid) {
+ submit();
+ } else {
+ return;
+ }
+ });
+}
+async function submit() {
+ try {
+ let params = {};
+ let res;
+ if (res) {
+ Message.successMessage('鎿嶄綔鎴愬姛');
+ eventContext.emit(isEdit ? 'employment:edit' : 'employment:add');
+ handleBack();
+ }
+ } catch (error) {}
+}
+</script>
+<style lang="scss" scoped>
+@use '@/style/common.scss' as *;
+</style>
diff --git a/src/views/EmploymentManage/constants/columns.ts b/src/views/EmploymentManage/constants/columns.ts
new file mode 100644
index 0000000..0b3bfac
--- /dev/null
+++ b/src/views/EmploymentManage/constants/columns.ts
@@ -0,0 +1,154 @@
+import { defineColumns } from '@bole-core/components';
+
+export const EmploymentManageColumns = defineColumns([
+ {
+ id: '1',
+ enCode: 'name',
+ name: '浠诲姟鍚嶇О',
+ width: 180,
+ },
+ {
+ id: '2',
+ enCode: 'name',
+ name: '浠诲姟鍗曞彿',
+ width: 180,
+ },
+ {
+ id: '3',
+ enCode: 'name',
+ name: '缁撶畻鍛ㄦ湡',
+ },
+ {
+ id: '4',
+ enCode: 'name',
+ name: '鏈嶅姟璐归噾棰�',
+ },
+ {
+ id: '5',
+ enCode: 'name',
+ name: '缁撶畻鏂瑰紡',
+ width: 140,
+ },
+ {
+ id: '6',
+ enCode: 'name',
+ name: '鎬у埆瑕佹眰',
+ width: 140,
+ },
+ {
+ id: '7',
+ enCode: 'signNum',
+ name: '鎶ュ悕浜烘暟',
+ width: 140,
+ },
+ {
+ id: '8',
+ enCode: 'name',
+ name: '浠诲姟鐘舵��',
+ width: 140,
+ },
+ {
+ id: '9',
+ enCode: 'name',
+ name: '鍙戝竷鏃ユ湡',
+ width: 160,
+ },
+ {
+ id: '10',
+ enCode: 'name',
+ name: '缁撴潫鏃ユ湡',
+ width: 160,
+ },
+ {
+ id: '11',
+ enCode: 'name',
+ name: '鍙戝竷鐘舵��',
+ width: 160,
+ },
+]);
+
+export const EmploymentArrangeColumns = defineColumns([
+ {
+ id: '1',
+ enCode: 'name',
+ name: '濮撳悕',
+ width: 180,
+ },
+ {
+ id: '2',
+ enCode: 'name',
+ name: '韬唤璇佸彿',
+ width: 180,
+ },
+ {
+ id: '3',
+ enCode: 'name',
+ name: '鐢佃瘽',
+ },
+ {
+ id: '4',
+ enCode: 'name',
+ name: '骞撮緞',
+ },
+ {
+ id: '5',
+ enCode: 'name',
+ name: '鎬у埆',
+ width: 140,
+ },
+ {
+ id: '6',
+ enCode: 'name',
+ name: '瀛﹀巻',
+ width: 140,
+ },
+ {
+ id: '7',
+ enCode: 'name',
+ name: '鎺掔彮鐘舵��',
+ width: 140,
+ },
+]);
+
+export const EmploymentSignColumns = defineColumns([
+ {
+ id: '1',
+ enCode: 'name',
+ name: '濮撳悕',
+ width: 180,
+ },
+ {
+ id: '2',
+ enCode: 'name',
+ name: '韬唤璇佸彿',
+ width: 180,
+ },
+ {
+ id: '3',
+ enCode: 'name',
+ name: '鐢佃瘽',
+ },
+ {
+ id: '4',
+ enCode: 'name',
+ name: '骞撮緞',
+ },
+ {
+ id: '5',
+ enCode: 'name',
+ name: '鎬у埆',
+ width: 140,
+ },
+ {
+ id: '6',
+ enCode: 'name',
+ name: '瀛﹀巻',
+ width: 140,
+ },
+ {
+ id: '7',
+ enCode: 'name',
+ name: '褰曠敤鐘舵��',
+ width: 140,
+ },
+]);
diff --git a/src/views/EmploymentManage/constants/index.ts b/src/views/EmploymentManage/constants/index.ts
new file mode 100644
index 0000000..a7f066b
--- /dev/null
+++ b/src/views/EmploymentManage/constants/index.ts
@@ -0,0 +1 @@
+export * from './columns';
diff --git a/src/views/FlexJobManage/FlexJobManage.vue b/src/views/FlexJobManage/FlexJobManage.vue
new file mode 100644
index 0000000..79429e4
--- /dev/null
+++ b/src/views/FlexJobManage/FlexJobManage.vue
@@ -0,0 +1,350 @@
+<template>
+ <LoadingLayout :loading="state.loading">
+ <AppContainer>
+ <ProTableQueryFilterBar @on-reset="reset">
+ <template #query>
+ <QueryFilterItem tip-content="褰曠敤鐘舵��">
+ <FieldRadio
+ v-model="extraParamState.flexEnterpriseSettingStatus"
+ :value-enum="[
+ { label: '宸插綍鐢�', value: 1 },
+ { label: '鏈綍鐢�', value: 0 },
+ ]"
+ buttonStyle
+ showAllBtn
+ @change="getList()"
+ />
+ </QueryFilterItem>
+ <QueryFilterItem tip-content="瀹炲悕鐘舵��">
+ <FieldRadio
+ v-model="extraParamState.flexEnterpriseSettingStatus"
+ :value-enum="[
+ { label: '宸插疄鍚�', value: 1 },
+ { label: '鏈疄鍚�', value: 0 },
+ ]"
+ buttonStyle
+ showAllBtn
+ @change="getList()"
+ />
+ </QueryFilterItem>
+ <QueryFilterItem tip-content="鐏靛伐绛剧害鐘舵��">
+ <FieldSelect
+ v-model="extraParamState.flexEnterpriseSettingStatus"
+ :value-enum="[
+ { label: '宸插疄鍚�', value: 1 },
+ { label: '鏈疄鍚�', value: 0 },
+ ]"
+ buttonStyle
+ showAllBtn
+ @change="getList()"
+ />
+ </QueryFilterItem>
+ <QueryFilterItem tip-content="浼佷笟绛剧害鐘舵��">
+ <FieldSelect
+ v-model="extraParamState.flexEnterpriseSettingStatus"
+ :value-enum="[
+ { label: '宸插疄鍚�', value: 1 },
+ { label: '鏈疄鍚�', value: 0 },
+ ]"
+ buttonStyle
+ showAllBtn
+ @change="getList()"
+ />
+ </QueryFilterItem>
+ <QueryFilterItem>
+ <FieldDatePicker
+ v-model="extraParamState.flexEnterpriseSettingStatus"
+ type="daterange"
+ range-separator="~"
+ start-placeholder="璧峰鏃ユ湡"
+ end-placeholder="鎴鏃ユ湡"
+ clearable
+ @change="getList()"
+ tooltipContent="鐧昏鏃堕棿"
+ ></FieldDatePicker>
+ </QueryFilterItem>
+ <QueryFilterItem>
+ <FieldDatePicker
+ v-model="extraParamState.flexEnterpriseSettingStatus"
+ type="daterange"
+ range-separator="~"
+ start-placeholder="璧峰鏃ユ湡"
+ end-placeholder="鎴鏃ユ湡"
+ clearable
+ @change="getList()"
+ tooltipContent="绛剧害鏃堕棿"
+ ></FieldDatePicker>
+ </QueryFilterItem>
+ <QueryFilterItem>
+ <SearchInput
+ v-model="extraParamState.searchWord"
+ style="width: 300px"
+ placeholder="濮撳悕/鎵嬫満/韬唤璇佸彿/瀹㈡埛"
+ @on-click-search="getList"
+ @keyup.enter="getList()"
+ >
+ </SearchInput>
+ </QueryFilterItem>
+ </template>
+ <template #btn>
+ <el-button @click="handleDownloadTemplate()" type="primary" link>妯℃澘涓嬭浇</el-button>
+ <el-button @click="handleBatchImportAdd()" type="primary">鎵归噺瀵煎叆</el-button>
+ <el-button @click="handleBatchUnSign()" type="primary">鎵归噺瑙g害</el-button>
+ <el-button @click="handleSendShotMessage()" type="primary">鐭俊鍙戦��</el-button>
+ <el-button @click="handleBatchSign()" type="primary">鎵归噺绛剧害</el-button>
+ </template>
+ </ProTableQueryFilterBar>
+ <ProTableV2
+ v-bind="proTableProps"
+ :columns="FlexJobManageColumns"
+ :operationBtns="operationBtns"
+ show-column-check
+ ref="proTable"
+ >
+ </ProTableV2>
+ </AppContainer>
+ <StaffInfoDialog v-bind="dialogStaffInfoProps" />
+ <BatchImportDialog
+ v-bind="dialogBatchImportProps"
+ @onDownloadTemplate="handleDownloadTemplate"
+ />
+ </LoadingLayout>
+</template>
+
+<script setup lang="ts">
+import {
+ ProTableQueryFilterBar,
+ OperationBtnType,
+ ProTableV2,
+ SearchInput,
+ LoadingLayout,
+ AppContainer,
+ QueryFilterItem,
+ useTable,
+ FieldDatePicker,
+ FieldRadio,
+ FieldSelect,
+ defineOperationBtns,
+ useFormDialog,
+ UploadUserFile,
+} from '@bole-core/components';
+import * as flexEnterpriseServices from '@/services/api/FlexEnterprise';
+import { FlexJobManageColumns } from './constants';
+import { FlexEnterpriseSettingStatus, Gender } from '@/constants';
+import { OrderInputType, Message } from '@bole-core/core';
+import { convertApi2FormUrlOnlyOne, downloadFileByUrl } from '@/utils';
+import StaffInfoDialog from './components/StaffInfoDialog.vue';
+import BatchImportDialog from './components/BatchImportDialog.vue';
+
+defineOptions({
+ name: 'EnterpriseManageList',
+});
+
+const operationBtns = defineOperationBtns([
+ {
+ data: {
+ enCode: 'editBtn',
+ name: '缂栬緫',
+ },
+ emits: {
+ onClick: (role) => openDialog(role),
+ },
+ },
+ {
+ data: {
+ enCode: 'detailBtn',
+ name: '璇︽儏',
+ },
+ emits: {
+ onClick: (role) => openDialog(role, true),
+ },
+ },
+ {
+ data: {
+ enCode: 'signBtn',
+ name: '绛剧害',
+ },
+ emits: {
+ onClick: (role) => handleSign(role),
+ },
+ extraProps: {
+ hide: (row) => false,
+ },
+ },
+ {
+ data: {
+ enCode: 'unSignBtn',
+ name: '瑙g害',
+ },
+ emits: {
+ onClick: (role) => handleUnSign(role),
+ },
+ extraProps: {
+ hide: (row) => false,
+ },
+ },
+ {
+ data: {
+ enCode: 'delBtn',
+ name: '鍒犻櫎',
+ },
+ props: { type: 'danger' },
+ emits: {
+ onClick: (role) => handleDelete(role),
+ },
+ },
+]);
+
+const router = useRouter();
+
+const BaseState = {
+ loading: true,
+};
+
+const state = reactive({ ...BaseState });
+
+onMounted(async () => {
+ await getList();
+ state.loading = false;
+});
+
+const {
+ getDataSource: getList,
+ proTableProps,
+ paginationState,
+ extraParamState,
+ reset,
+} = useTable(
+ async ({ pageIndex, pageSize }, extraParamState) => {
+ try {
+ let params: API.GetFlexEnterpriseInput = {
+ pageModel: {
+ rows: pageSize,
+ page: pageIndex,
+ orderInput: extraParamState.orderInput,
+ },
+ flexEnterpriseSettingStatus: extraParamState.flexEnterpriseSettingStatus,
+ searchWord: extraParamState.searchWord,
+ };
+
+ let res = await flexEnterpriseServices.getFlexEnterpriseList(params, {
+ showLoading: !state.loading,
+ });
+ return res;
+ } catch (error) {
+ console.log('error: ', error);
+ }
+ },
+ {
+ defaultExtraParams: {
+ searchWord: '',
+ orderInput: [{ property: 'id', order: OrderInputType.Desc }],
+ flexEnterpriseSettingStatus: '' as any as FlexEnterpriseSettingStatus,
+ },
+ queryKey: ['flexEnterpriseServices/getFlexEnterpriseList'],
+ columnsRenderProps: {},
+ }
+);
+
+const proTable = ref<InstanceType<typeof ProTableV2>>();
+
+function getSelectionRows() {
+ if (proTableProps.value.tableData.length) {
+ const res = proTable.value.innerTableRef.getSelectionRows();
+ if (res.length > 0) {
+ return res;
+ } else {
+ Message.errorMessage('鏈�夋嫨鏁版嵁');
+ }
+ } else {
+ Message.errorMessage('鏆傛棤鏁版嵁');
+ }
+}
+
+const {
+ dialogProps: dialogStaffInfoProps,
+ handleEdit: handleStaffInfoEdit,
+ editForm: staffInfoEditForm,
+} = useFormDialog({
+ onConfirm: handleAddOrEdit,
+ defaultFormParams: {
+ id: '',
+ name: '',
+ idNumber: '',
+ phoneNumber: '',
+ genderType: Gender.Male,
+ age: 0,
+ companyId: '',
+ customerId: '',
+ idFrontUrl: [] as UploadUserFile[],
+ idBackUrl: [] as UploadUserFile[],
+ contractUrl: [] as UploadUserFile[],
+ regiterTime: '',
+ realVerifyTime: '',
+ signTime: '',
+ isDetail: false,
+ },
+});
+
+function openDialog(row, isDetail = false) {
+ handleStaffInfoEdit({
+ id: row.id,
+ name: row.name,
+ idNumber: row.idNumber,
+ phoneNumber: row.phoneNumber,
+ genderType: Gender.Male,
+ age: row.age ?? 0,
+ companyId: row.companyId,
+ customerId: row.customerId,
+ idFrontUrl: convertApi2FormUrlOnlyOne(row.idFrontUrl),
+ idBackUrl: convertApi2FormUrlOnlyOne(row.idBackUrl),
+ contractUrl: convertApi2FormUrlOnlyOne(row.contractUrl, {
+ fileName: row.contractUrl ? row.contractUrl.split('/').pop() : '鍚堝悓',
+ }),
+ regiterTime: row.regiterTime,
+ realVerifyTime: row.realVerifyTime,
+ signTime: row.signTime,
+ isDetail: isDetail,
+ });
+}
+
+async function handleAddOrEdit() {}
+
+const {
+ dialogProps: dialogBatchImportProps,
+ handleAdd: handleBatchImportAdd,
+ editForm: batchImportForm,
+} = useFormDialog({
+ onConfirm: handleBatchImport,
+ defaultFormParams: {
+ customerId: '',
+ contractTemplateId: '',
+ templateDataId: '',
+ url: [] as UploadUserFile[],
+ userList: [],
+ },
+});
+
+async function handleBatchImport() {}
+
+function handleDownloadTemplate() {
+ downloadFileByUrl('', '鎵归噺瀵煎叆妯℃澘');
+}
+
+function handleBatchUnSign() {}
+function handleSendShotMessage() {}
+
+function handleSign(row) {}
+function handleBatchSign() {}
+async function handleUnSign(row) {
+ try {
+ await Message.tipMessage('纭畾瑙g害鐢ㄦ埛锛�');
+ } catch (error) {}
+}
+
+async function handleDelete(row) {
+ try {
+ await Message.deleteMessage();
+ } catch (error) {}
+}
+</script>
diff --git a/src/views/FlexJobManage/components/BatchImportDialog.vue b/src/views/FlexJobManage/components/BatchImportDialog.vue
new file mode 100644
index 0000000..6a311dc
--- /dev/null
+++ b/src/views/FlexJobManage/components/BatchImportDialog.vue
@@ -0,0 +1,109 @@
+<template>
+ <ProDialog title="浜哄憳瀵煎叆" v-model="visible" @close="onDialogClose" destroy-on-close draggable>
+ <ProForm :model="form" ref="dialogForm" label-width="100px">
+ <ProFormItemV2
+ label="閫夋嫨鏂囦欢:"
+ prop="userList"
+ :check-rules="[{ message: '璇蜂笂浼犱汉鍛樺悕鍗�', type: 'array' }]"
+ >
+ <div style="display: flex">
+ <ProFormUpload
+ v-model:file-url="form.url"
+ :limit="1"
+ :limitFileSize="10"
+ accept="xlsx,xls"
+ :needUploadOss="false"
+ :on-success="handleImport"
+ ></ProFormUpload>
+ <el-button
+ type="primary"
+ class="el-button-link-clear legalPersonIdImgUrl-btn"
+ link
+ @click="emit('onDownloadTemplate')"
+ >妯℃澘涓嬭浇</el-button
+ >
+ </div>
+ </ProFormItemV2>
+ </ProForm>
+ <template #footer>
+ <span class="dialog-footer">
+ <el-button type="primary" @click="handleConfirm">鎻愪氦</el-button>
+ <el-button type="default" @click="emit('onCancel')">鍙栨秷</el-button>
+ </span>
+ </template>
+ </ProDialog>
+</template>
+
+<script setup lang="ts">
+import {
+ ProDialog,
+ ProForm,
+ ProFormItemV2,
+ ProFormUpload,
+ ProFormSelect,
+ UploadUserFile,
+ XLSXUtils,
+} from '@bole-core/components';
+import { FormInstance, FormRules, useFormItem } from 'element-plus';
+import { useUser } from '@/hooks';
+
+defineOptions({
+ name: 'BatchImportDialog',
+});
+
+type Form = {
+ title?: string;
+ customerId: string;
+ contractTemplateId: string;
+ templateDataId: string;
+ url: UploadUserFile[];
+ userList: any[];
+};
+
+const visible = defineModel({ type: Boolean });
+const form = defineModel<Form>('form');
+
+const emit = defineEmits<{
+ (e: 'onDownloadTemplate'): void;
+ (e: 'onConfirm'): void;
+ (e: 'onCancel'): void;
+}>();
+
+const { user } = useUser();
+
+const dialogForm = ref<FormInstance>();
+
+function onDialogClose() {
+ if (!dialogForm.value) return;
+ dialogForm.value.resetFields();
+}
+
+function handleConfirm() {
+ if (!dialogForm.value) return;
+ dialogForm.value.validate((valid) => {
+ if (valid) {
+ emit('onConfirm');
+ } else {
+ return;
+ }
+ });
+}
+
+const XLSXHeaderMap = {
+ name: '濮撳悕',
+ phone: '鎵嬫満鍙�',
+};
+
+function handleImport(response: UploadUserFile) {
+ XLSXUtils.resloveXLSXFromUploadInput<typeof XLSXHeaderMap>({
+ //@ts-ignore
+ file: response.file,
+ resloveKeyList: Object.keys(XLSXHeaderMap),
+ onSuccess: async (worksheetList) => {
+ const userXLSXList = worksheetList[0];
+ form.value.userList = userXLSXList;
+ dialogForm.value?.validateField?.('userList');
+ },
+ });
+}
+</script>
diff --git a/src/views/FlexJobManage/components/StaffInfoDialog.vue b/src/views/FlexJobManage/components/StaffInfoDialog.vue
new file mode 100644
index 0000000..5df64d5
--- /dev/null
+++ b/src/views/FlexJobManage/components/StaffInfoDialog.vue
@@ -0,0 +1,199 @@
+<template>
+ <ProDialog
+ :title="form.isDetail ? '浜哄憳璇︽儏' : '浜哄憳淇℃伅缂栬緫'"
+ v-model="visible"
+ @close="onDialogClose"
+ destroy-on-close
+ draggable
+ :width="900"
+ >
+ <ProForm :model="form" ref="dialogForm" label-width="120px" :is-read="form.isDetail">
+ <ProFormCol>
+ <ProFormColItem :span="12">
+ <ProFormItemV2 label="濮撳悕锛�" prop="name" :check-rules="[{ message: '璇疯緭鍏ュ鍚�' }]">
+ <ProFormText placeholder="璇疯緭鍏ュ鍚�" v-model.trim="form.name"></ProFormText>
+ </ProFormItemV2>
+ </ProFormColItem>
+ <ProFormColItem :span="12">
+ <ProFormItemV2 v-if="form.isDetail" label="鎶ュ悕鏃堕棿锛�" prop="regiterTime">
+ <div>{{ format(form.regiterTime, 'YYYY-MM-DD HH:mm') }}</div>
+ </ProFormItemV2>
+ </ProFormColItem>
+ <ProFormColItem :span="12">
+ <ProFormItemV2
+ label="韬唤璇佸彿锛�"
+ prop="idNumber"
+ :check-rules="[{ message: '璇疯緭鍏ヨ韩浠借瘉鍙�', type: 'idCard' }]"
+ >
+ <ProFormText placeholder="璇疯緭鍏ヨ韩浠借瘉鍙�" v-model.trim="form.idNumber"></ProFormText>
+ </ProFormItemV2>
+ </ProFormColItem>
+ <ProFormColItem :span="12">
+ <ProFormItemV2 v-if="form.isDetail" label="瀹炲悕鏃堕棿锛�" prop="realVerifyTime">
+ <div>{{ format(form.realVerifyTime, 'YYYY-MM-DD HH:mm') }}</div>
+ </ProFormItemV2>
+ </ProFormColItem>
+ <ProFormColItem :span="12">
+ <ProFormItemV2
+ label="鎵嬫満鍙凤細"
+ prop="phoneNumber"
+ :check-rules="[{ message: '璇疯緭鍏ユ墜鏈哄彿', type: 'phone' }]"
+ >
+ <ProFormText placeholder="璇疯緭鍏ユ墜鏈哄彿" v-model.trim="form.phoneNumber"></ProFormText>
+ </ProFormItemV2>
+ </ProFormColItem>
+ <ProFormColItem :span="12">
+ <ProFormItemV2 v-if="form.isDetail" label="绛剧害鏃堕棿锛�" prop="signTime">
+ <div>{{ format(form.signTime, 'YYYY-MM-DD HH:mm') }}</div>
+ </ProFormItemV2>
+ </ProFormColItem>
+ <ProFormColItem :span="12">
+ <ProFormItemV2 label="鎬у埆锛�" prop="phoneNumber" required>
+ <ProFormRadio
+ v-model="form.genderType"
+ :value-enum="GenderText"
+ :buttonStyle="false"
+ ></ProFormRadio>
+ </ProFormItemV2>
+ </ProFormColItem>
+ <ProFormColItem :span="12">
+ <ProFormItemV2 v-if="form.isDetail" label="鐢靛瓙鍚堝悓锛�" prop="contractUrl">
+ <ProFormUpload
+ v-model:file-url="form.contractUrl"
+ :limit="1"
+ :limitFileSize="10"
+ accept="jpg/jpeg,png,pdf"
+ ></ProFormUpload>
+ </ProFormItemV2>
+ </ProFormColItem>
+ <ProFormColItem :span="12">
+ <ProFormItemV2
+ label="骞撮緞锛�"
+ prop="age"
+ :check-rules="[{ message: '璇疯緭鍏ュ勾榫�', type: 'number' }]"
+ >
+ <ProFormInputNumber
+ v-model="form.age"
+ :controls="false"
+ :min="0"
+ :max="9999"
+ :unit="form.isDetail ? '宀�' : ''"
+ ></ProFormInputNumber>
+ </ProFormItemV2>
+ </ProFormColItem>
+ </ProFormCol>
+ <ProFormItemV2
+ label="韬唤璇佹闈細"
+ prop="idFrontUrl"
+ :check-rules="[{ message: '璇蜂笂浼犺韩浠借瘉姝i潰', type: 'upload' }]"
+ >
+ <ProFormImageUpload v-model:file-url="form.idFrontUrl" :limitFileSize="10" :showTip="false">
+ </ProFormImageUpload>
+ </ProFormItemV2>
+ <ProFormItemV2
+ label="韬唤璇佸弽闈細"
+ prop="idBackUrl"
+ :check-rules="[{ message: '璇蜂笂浼犺韩浠借瘉鍙嶉潰', type: 'upload' }]"
+ >
+ <ProFormImageUpload v-model:file-url="form.idBackUrl" :limitFileSize="10" :showTip="false">
+ </ProFormImageUpload>
+ </ProFormItemV2>
+ </ProForm>
+ <template #footer>
+ <span class="dialog-footer">
+ <el-button v-if="form.isDetail" @click="emit('onCancel')">鍏抽棴</el-button>
+ <template v-else>
+ <el-button type="primary" @click="handleConfirm">鎻愪氦</el-button>
+ <el-button @click="handleReset">閲嶇疆</el-button>
+ <el-button @click="emit('onCancel')">鍙栨秷</el-button>
+ </template>
+ </span>
+ </template>
+ </ProDialog>
+</template>
+
+<script setup lang="ts">
+import { FormInstance } from 'element-plus';
+import {
+ ProDialog,
+ ProForm,
+ ProFormItemV2,
+ ProFormText,
+ UploadUserFile,
+ ProFormCol,
+ ProFormColItem,
+ ProFormImageUpload,
+ ProFormRadio,
+ ProFormUpload,
+ ProFormInputNumber,
+} from '@bole-core/components';
+import { format } from '@/utils';
+import { Gender, GenderText } from '@/constants';
+
+defineOptions({
+ name: 'StaffInfoDialog',
+});
+
+type Form = {
+ title?: string;
+ id: string;
+ name: string;
+ idNumber: string;
+ phoneNumber: string;
+ genderType: Gender;
+ age: number;
+ customerId: string;
+ companyId: string;
+ idFrontUrl: UploadUserFile[];
+ idBackUrl: UploadUserFile[];
+ contractUrl: UploadUserFile[];
+ regiterTime: string;
+ realVerifyTime: string;
+ signTime: string;
+ isDetail: boolean;
+};
+
+const visible = defineModel({ type: Boolean });
+
+const form = defineModel<Form>('form');
+let defaultForm: Form = null;
+
+watch(
+ visible,
+ (visible) => {
+ if (visible) {
+ defaultForm = { ...unref(form) };
+ }
+ },
+ {
+ immediate: true,
+ }
+);
+
+const emit = defineEmits<{
+ (e: 'onConfirm'): void;
+ (e: 'onCancel'): void;
+}>();
+
+const dialogForm = ref<FormInstance>();
+
+function onDialogClose() {
+ if (!dialogForm.value) return;
+ dialogForm.value.resetFields();
+}
+
+function handleConfirm() {
+ if (!dialogForm.value) return;
+ dialogForm.value.validate((valid) => {
+ if (valid) {
+ emit('onConfirm');
+ } else {
+ return;
+ }
+ });
+}
+
+function handleReset() {
+ form.value = { ...defaultForm };
+}
+</script>
diff --git a/src/views/FlexJobManage/constants/columns.ts b/src/views/FlexJobManage/constants/columns.ts
new file mode 100644
index 0000000..cd29086
--- /dev/null
+++ b/src/views/FlexJobManage/constants/columns.ts
@@ -0,0 +1,80 @@
+import { defineColumns } from '@bole-core/components';
+
+export const FlexJobManageColumns = defineColumns([
+ {
+ id: '1',
+ enCode: 'name',
+ name: '濮撳悕',
+ width: 180,
+ },
+ {
+ id: '2',
+ enCode: 'idNumber',
+ name: '韬唤璇佸彿',
+ width: 180,
+ },
+ {
+ id: '3',
+ enCode: 'sex',
+ name: '鎬у埆',
+ },
+ {
+ id: '5',
+ enCode: 'age',
+ name: '骞撮緞',
+ },
+ {
+ id: '6',
+ enCode: 'phoneNumber',
+ name: '鎵嬫満鍙�',
+ width: 140,
+ },
+ {
+ id: '8',
+ enCode: 'regiterStatus',
+ name: '褰曠敤鐘舵��',
+ width: 140,
+ },
+ {
+ id: '9',
+ enCode: 'realVerifyStatus',
+ name: '瀹炲悕鐘舵��',
+ width: 140,
+ },
+ {
+ id: '10',
+ enCode: 'signStatus',
+ name: '鐏靛伐绛剧害鐘舵��',
+ width: 140,
+ },
+ {
+ id: '11',
+ enCode: 'regiterTime',
+ name: '褰曠敤鏃堕棿',
+ width: 160,
+ },
+ {
+ id: '12',
+ enCode: 'realVerifyTime',
+ name: '瀹炲悕鏃堕棿',
+ width: 160,
+ },
+ {
+ id: '13',
+ enCode: 'signTime',
+ name: '绛剧害鏃堕棿',
+ width: 160,
+ },
+ {
+ id: '14',
+ enCode: 'enterSignStatus',
+ name: '浼佷笟绛剧害鐘舵��',
+ width: 160,
+ },
+ {
+ id: '15',
+ enCode: 'enterSignTime',
+ name: '浼佷笟绛剧害鏃堕棿',
+ width: 160,
+ },
+]);
diff --git a/src/views/FlexJobManage/constants/index.ts b/src/views/FlexJobManage/constants/index.ts
new file mode 100644
index 0000000..a7f066b
--- /dev/null
+++ b/src/views/FlexJobManage/constants/index.ts
@@ -0,0 +1 @@
+export * from './columns';
--
Gitblit v1.9.1