From da109a468d7065fb1a0201cc2a81fb189e3f62cd Mon Sep 17 00:00:00 2001 From: zhengyiming <540361168@qq.com> Date: 星期五, 08 八月 2025 10:46:23 +0800 Subject: [PATCH] Merge branch 'master' of http://120.26.58.240:8888/r/flexJobAdmin --- src/constants/user.ts | 4 types/global.d.ts | 6 src/constants/task.ts | 18 +++ .eslintrc-auto-import.json | 4 src/services/api/typings.d.ts | 10 - src/views/Permission/OperationUserManage.vue | 24 ++-- src/views/TaskManage/components/SignDetailView.vue | 31 +---- src/views/TaskManage/components/SelltementDetailView.vue | 83 ++++++++++++++++ auto-imports.d.ts | 10 + src/constants/index.ts | 1 src/views/TaskManage/TaskManageDetail.vue | 4 src/services/api/user.ts | 15 --- src/views/TaskManage/TaskManageList.vue | 39 +++---- 13 files changed, 162 insertions(+), 87 deletions(-) diff --git a/.eslintrc-auto-import.json b/.eslintrc-auto-import.json index 3489e29..93803cd 100644 --- a/.eslintrc-auto-import.json +++ b/.eslintrc-auto-import.json @@ -34,13 +34,17 @@ "EnumRoleWebApiDataPowerText": true, "EnumRoleWebApiDataPowerTextForFilter": true, "EnumSettlementCycle": true, + "EnumSettlementCycleText": true, "EnumSmsAccess": true, "EnumSmsAccessText": true, "EnumTaskCheckReceiveStatus": true, "EnumTaskRecommendStatus": true, + "EnumTaskRecommendStatusText": true, "EnumTaskReleaseStatus": true, + "EnumTaskReleaseStatusText": true, "EnumTaskSettlementStatus": true, "EnumTaskStatus": true, + "EnumTaskStatusText": true, "EnumUserGender": true, "EnumUserInfoStatusText": true, "EnumUserStatus": true, diff --git a/auto-imports.d.ts b/auto-imports.d.ts index c456bc8..263e64b 100644 --- a/auto-imports.d.ts +++ b/auto-imports.d.ts @@ -41,13 +41,17 @@ const EnumRoleWebApiDataPowerText: typeof import('./src/constants/apiEnumText')['EnumRoleWebApiDataPowerText'] const EnumRoleWebApiDataPowerTextForFilter: typeof import('./src/constants/apiEnumText')['EnumRoleWebApiDataPowerTextForFilter'] const EnumSettlementCycle: typeof import('./src/constants/apiEnum')['EnumSettlementCycle'] + const EnumSettlementCycleText: typeof import('./src/constants/task')['EnumSettlementCycleText'] const EnumSmsAccess: typeof import('./src/constants/apiEnum')['EnumSmsAccess'] const EnumSmsAccessText: typeof import('./src/constants/enterprise')['EnumSmsAccessText'] const EnumTaskCheckReceiveStatus: typeof import('./src/constants/apiEnum')['EnumTaskCheckReceiveStatus'] const EnumTaskRecommendStatus: typeof import('./src/constants/apiEnum')['EnumTaskRecommendStatus'] + const EnumTaskRecommendStatusText: typeof import('./src/constants/task')['EnumTaskRecommendStatusText'] const EnumTaskReleaseStatus: typeof import('./src/constants/apiEnum')['EnumTaskReleaseStatus'] + const EnumTaskReleaseStatusText: typeof import('./src/constants/task')['EnumTaskReleaseStatusText'] const EnumTaskSettlementStatus: typeof import('./src/constants/apiEnum')['EnumTaskSettlementStatus'] const EnumTaskStatus: typeof import('./src/constants/apiEnum')['EnumTaskStatus'] + const EnumTaskStatusText: typeof import('./src/constants/task')['EnumTaskStatusText'] const EnumUserGender: typeof import('./src/constants/apiEnum')['EnumUserGender'] const EnumUserInfoStatus: typeof import('./src/constants/apiEnum')['EnumUserInfoStatus'] const EnumUserInfoStatusText: typeof import('./src/constants/user')['EnumUserInfoStatusText'] @@ -287,13 +291,17 @@ readonly EnumRoleWebApiDataPowerText: UnwrapRef<typeof import('./src/constants/apiEnumText')['EnumRoleWebApiDataPowerText']> readonly EnumRoleWebApiDataPowerTextForFilter: UnwrapRef<typeof import('./src/constants/apiEnumText')['EnumRoleWebApiDataPowerTextForFilter']> readonly EnumSettlementCycle: UnwrapRef<typeof import('./src/constants/apiEnum')['EnumSettlementCycle']> + readonly EnumSettlementCycleText: UnwrapRef<typeof import('./src/constants/task')['EnumSettlementCycleText']> readonly EnumSmsAccess: UnwrapRef<typeof import('./src/constants/apiEnum')['EnumSmsAccess']> readonly EnumSmsAccessText: UnwrapRef<typeof import('./src/constants/enterprise')['EnumSmsAccessText']> readonly EnumTaskCheckReceiveStatus: UnwrapRef<typeof import('./src/constants/apiEnum')['EnumTaskCheckReceiveStatus']> readonly EnumTaskRecommendStatus: UnwrapRef<typeof import('./src/constants/apiEnum')['EnumTaskRecommendStatus']> + readonly EnumTaskRecommendStatusText: UnwrapRef<typeof import('./src/constants/task')['EnumTaskRecommendStatusText']> readonly EnumTaskReleaseStatus: UnwrapRef<typeof import('./src/constants/apiEnum')['EnumTaskReleaseStatus']> + readonly EnumTaskReleaseStatusText: UnwrapRef<typeof import('./src/constants/task')['EnumTaskReleaseStatusText']> readonly EnumTaskSettlementStatus: UnwrapRef<typeof import('./src/constants/apiEnum')['EnumTaskSettlementStatus']> readonly EnumTaskStatus: UnwrapRef<typeof import('./src/constants/apiEnum')['EnumTaskStatus']> + readonly EnumTaskStatusText: UnwrapRef<typeof import('./src/constants/task')['EnumTaskStatusText']> readonly EnumUserGender: UnwrapRef<typeof import('./src/constants/apiEnum')['EnumUserGender']> readonly EnumUserInfoStatusText: UnwrapRef<typeof import('./src/constants/user')['EnumUserInfoStatusText']> readonly EnumUserStatus: UnwrapRef<typeof import('./src/constants/apiEnum')['EnumUserStatus']> @@ -443,4 +451,4 @@ readonly watchPostEffect: UnwrapRef<typeof import('vue')['watchPostEffect']> readonly watchSyncEffect: UnwrapRef<typeof import('vue')['watchSyncEffect']> } -} \ No newline at end of file +} diff --git a/src/constants/index.ts b/src/constants/index.ts index b179761..02c6032 100644 --- a/src/constants/index.ts +++ b/src/constants/index.ts @@ -16,3 +16,4 @@ export * from './apiEnumText'; export * from './user'; export * from './dic'; +export * from './task'; diff --git a/src/constants/task.ts b/src/constants/task.ts new file mode 100644 index 0000000..fa7fd95 --- /dev/null +++ b/src/constants/task.ts @@ -0,0 +1,18 @@ +export const EnumTaskStatusText = { + [EnumTaskStatus.Wait]: '寰呭畨鎺�', + [EnumTaskStatus.Complete]: '宸插畨鎺�', +}; +export const EnumSettlementCycleText = { + [EnumSettlementCycle.Month]: '鏈堢粨', + [EnumSettlementCycle.Week]: '鍛ㄧ粨', + [EnumSettlementCycle.Day]: '鏃ョ粨', +}; + +export const EnumTaskReleaseStatusText = { + [EnumTaskReleaseStatus.InProcess]: '鍙戝竷涓�', + [EnumTaskReleaseStatus.Stopped]: '宸插仠姝�', +}; +export const EnumTaskRecommendStatusText = { + [EnumTaskRecommendStatus.No]: '鏈帹鑽�', + [EnumTaskRecommendStatus.Yes]: '宸叉帹鑽�', +}; diff --git a/src/constants/user.ts b/src/constants/user.ts index 588b889..b0c901c 100644 --- a/src/constants/user.ts +++ b/src/constants/user.ts @@ -1,4 +1,4 @@ export const EnumUserInfoStatusText = { - [EnumUserInfoStatus.Normal]: '姝e父', - [EnumUserInfoStatus.Disabled]: '绂佺敤', + [EnumUserStatus.Normal]: '姝e父', + [EnumUserStatus.Disabled]: '绂佺敤', }; diff --git a/src/services/api/typings.d.ts b/src/services/api/typings.d.ts index 98a7d82..bbbf1ab 100644 --- a/src/services/api/typings.d.ts +++ b/src/services/api/typings.d.ts @@ -1179,10 +1179,6 @@ addressName?: string; /** 浠诲姟鍦扮偣璇︾粏鍦板潃 */ addressDetail?: string; - /** 缁忓害 */ - longitude?: number; - /** 绾害 */ - latitude?: number; /** 浠诲姟寮�濮嬫椂闂� */ beginTime?: string; /** 浠诲姟缁撴潫鏃堕棿 */ @@ -1197,10 +1193,8 @@ pageModel?: PagedListQueryPageModel; /** 鍏抽敭瀛楋紙浠诲姟鍚嶇О锛� */ keywords?: string; - /** 鍙戝竷鏃堕棿-寮�濮� */ - beginTime?: string; - /** 鍙戝竷鏃堕棿-缁撴潫 */ - endTime?: string; + /** 鍙戝竷鏃堕棿 */ + time?: string; /** 浠诲姟鍦扮偣鎵�灞炲煄甯傜紪鍙� */ cityCode?: string; settlementCycle?: EnumSettlementCycle; diff --git a/src/services/api/user.ts b/src/services/api/user.ts index a398d43..3d4e6e0 100644 --- a/src/services/api/user.ts +++ b/src/services/api/user.ts @@ -35,21 +35,6 @@ }); } -/** 鏌ヨ鐢ㄦ埛绠�鍘� GET /api/user/user/getUserResume */ -export async function getUserResume( - // 鍙犲姞鐢熸垚鐨凱aram绫诲瀷 (闈瀊ody鍙傛暟swagger榛樿娌℃湁鐢熸垚瀵硅薄) - params: API.APIgetUserResumeParams, - options?: API.RequestConfig -) { - return request<API.GetUserResumeQueryResult>('/api/user/user/getUserResume', { - method: 'GET', - params: { - ...params, - }, - ...(options || {}), - }); -} - /** 璁剧疆鐢ㄦ埛淇℃伅瑙掕壊 PUT /api/user/user/setUserInfoRoles */ export async function setUserInfoRoles( body: API.SetUserInfoRolesCommand, diff --git a/src/views/Permission/OperationUserManage.vue b/src/views/Permission/OperationUserManage.vue index c33d828..b66c8c3 100644 --- a/src/views/Permission/OperationUserManage.vue +++ b/src/views/Permission/OperationUserManage.vue @@ -24,8 +24,8 @@ v-model="row.status" active-text="鍚敤" inactive-text="绂佺敤" - :active-value="EnumUserInfoStatus.Normal" - :inactive-value="EnumUserInfoStatus.Disabled" + :active-value="EnumUserStatus.Normal" + :inactive-value="EnumUserStatus.Disabled" :before-change="() => setStatus(row)" /> </template> @@ -50,9 +50,9 @@ } from '@bole-core/components'; import { useAccess } from '@/hooks'; import { formatRoleName } from '@/utils'; -import * as userInfoServices from '@/services/api/userInfo'; +import * as userServices from '@/services/api/user'; import { Message } from '@bole-core/core'; -import { EnumUserInfoStatus } from '@/constants'; +import { EnumUserStatus } from '@/constants'; import SetOperationUserRoleDialog from './components/SetOperationUserRoleDialog.vue'; defineOptions({ @@ -95,7 +95,7 @@ }, keywords: extraParamState.keywords, }; - let res = await userInfoServices.getOperationUserInfos(params, { + let res = await userServices.getOperationUserInfos(params, { showLoading: !state.loading, }); return res; @@ -106,7 +106,7 @@ keywords: '', orderInput: [{ property: 'id', order: EnumPagedListOrder.Desc }], }, - queryKey: ['userInfoServices/getOperationUserInfos'], + queryKey: ['userServices/getOperationUserInfos'], columnsRenderProps: {}, } ); @@ -114,16 +114,14 @@ async function setStatus(row: API.GetOperationUserInfosQueryResultItem) { try { await Message.tipMessage( - `纭瑕�${row.status === EnumUserInfoStatus.Normal ? '绂佺敤' : '鍚敤'}璇ヨ处鍙峰悧锛焋 + `纭瑕�${row.status === EnumUserStatus.Normal ? '绂佺敤' : '鍚敤'}璇ヨ处鍙峰悧锛焋 ); let params: API.SetUserInfoStatusCommand = { ids: [row.id], status: - row.status === EnumUserInfoStatus.Normal - ? EnumUserInfoStatus.Disabled - : EnumUserInfoStatus.Normal, + row.status === EnumUserStatus.Normal ? EnumUserStatus.Disabled : EnumUserStatus.Normal, }; - let res = await userInfoServices.setUserInfoStatus(params); + let res = await userServices.setUserInfoStatus(params); return !!res; } catch (error) {} } @@ -154,7 +152,7 @@ userInfoId: editForm.userInfoId, roleIds: editForm.roleIds, }; - let res = await userInfoServices.setUserInfoRoles(params); + let res = await userServices.setUserInfoRoles(params); if (res) { Message.successMessage('鎿嶄綔鎴愬姛'); getList(paginationState.pageIndex); @@ -168,7 +166,7 @@ userInfoId: row.id, // clientType: row.clientType, }; - let res = await userInfoServices.getUserInfoRoles(params); + let res = await userServices.getUserInfoRoles(params); return res; } catch (error) {} } diff --git a/src/views/TaskManage/TaskManageDetail.vue b/src/views/TaskManage/TaskManageDetail.vue index f664309..3dd88d4 100644 --- a/src/views/TaskManage/TaskManageDetail.vue +++ b/src/views/TaskManage/TaskManageDetail.vue @@ -8,6 +8,9 @@ <ProTabPane lazy label="鎶ュ悕璇︽儏" name="sign"> <SignDetailView></SignDetailView> </ProTabPane> + <ProTabPane lazy label="缁撶畻璇︽儏" name="settle"> + <SelltementDetailView></SelltementDetailView> + </ProTabPane> </ProTabs> </AppContainer> </LoadingLayout> @@ -17,6 +20,7 @@ import { AppContainer, ProTabs, ProTabPane } from '@bole-core/components'; import TaskDetailView from './components/TaskDetailView.vue'; import SignDetailView from './components/SignDetailView.vue'; +import SelltementDetailView from './components/SelltementDetailView.vue'; defineOptions({ name: 'TaskManageDetail', diff --git a/src/views/TaskManage/TaskManageList.vue b/src/views/TaskManage/TaskManageList.vue index 1409251..b6433ff 100644 --- a/src/views/TaskManage/TaskManageList.vue +++ b/src/views/TaskManage/TaskManageList.vue @@ -5,11 +5,8 @@ <template #query> <QueryFilterItem tip-content="鍙戝竷鐘舵��"> <FieldRadio - v-model="extraParamState.status" - :value-enum="[ - { value: true, label: '鍙戝竷涓�' }, - { value: false, label: '宸插仠姝�' }, - ]" + v-model="extraParamState.releaseStatus" + :value-enum="EnumTaskReleaseStatusText" buttonStyle showAllBtn @change="getList()" @@ -17,11 +14,8 @@ </QueryFilterItem> <QueryFilterItem tip-content="鎺ㄨ崘鐘舵��"> <FieldRadio - v-model="extraParamState.status" - :value-enum="[ - { value: true, label: '宸叉帹鑽�' }, - { value: false, label: '鏈帹鑽�' }, - ]" + v-model="extraParamState.recommendStatus" + :value-enum="EnumTaskRecommendStatusText" buttonStyle showAllBtn @change="getList()" @@ -29,7 +23,7 @@ </QueryFilterItem> <QueryFilterItem tip-content="鍙戝竷鏃堕棿"> <FieldDatePicker - v-model="extraParamState.beginDate" + v-model="extraParamState.time" type="daterange" range-separator="~" start-placeholder="寮�濮嬫棩鏈�" @@ -40,7 +34,7 @@ </QueryFilterItem> <QueryFilterItem> <SearchInput - v-model="extraParamState.keyword" + v-model="extraParamState.keywords" style="width: 260px" placeholder="浠诲姟鍚嶇О" @on-click-search="getList" @@ -70,7 +64,8 @@ } from '@bole-core/components'; import { useAccess } from '@/hooks'; import { ModelValueType } from 'element-plus'; -import * as enterpriseServices from '@/services/api/enterprise'; +import * as taskServices from '@/services/api/task'; +import { EnumTaskReleaseStatusText, EnumTaskRecommendStatusText } from '@/constants'; defineOptions({ name: 'OperationManageList', @@ -118,15 +113,18 @@ } = useTable( async ({ pageIndex, pageSize }, extraParamState) => { try { - let params: API.GetEnterprisesQuery = { + let params: API.GetTaskInfosQuery = { pageModel: { rows: pageSize, page: pageIndex, orderInput: extraParamState.orderInput, }, - // searchKeys: extraParamState.keyword, + keywords: extraParamState.keywords, + releaseStatus: extraParamState.releaseStatus, + recommendStatus: extraParamState.recommendStatus, + // time: extraParamState.time, }; - let res = await enterpriseServices.getEnterprises(params, { + let res = await taskServices.getTaskInfos(params, { showLoading: !state.loading, }); return res; @@ -134,11 +132,10 @@ }, { defaultExtraParams: { - keyword: '', - pageType: '' as any as number, - status: '' as any as boolean, - beginDate: [] as unknown as ModelValueType, - endDate: [] as unknown as ModelValueType, + keywords: '', + releaseStatus: '' as any as EnumTaskReleaseStatus, + recommendStatus: '' as any as EnumTaskRecommendStatus, + time: [] as unknown as ModelValueType, orderInput: [{ property: 'id', order: EnumPagedListOrder.Asc }], }, columnsRenderProps: {}, diff --git a/src/views/TaskManage/components/SelltementDetailView.vue b/src/views/TaskManage/components/SelltementDetailView.vue new file mode 100644 index 0000000..58e1843 --- /dev/null +++ b/src/views/TaskManage/components/SelltementDetailView.vue @@ -0,0 +1,83 @@ +<template> + <LoadingLayout :loading="state.loading"> + <AppContainer> + <ProTableV2 + v-bind="proTableProps" + :columns="settleColumns" + :operationBtns="settleOperationBtns" + > + </ProTableV2> + </AppContainer> + </LoadingLayout> +</template> + +<script setup lang="ts"> +import { ProTableV2, LoadingLayout, AppContainer, useTable } from '@bole-core/components'; +import { ModelValueType } from 'element-plus'; +import * as enterpriseServices from '@/services/api/enterprise'; + +defineOptions({ + name: 'SelltementDetailView', +}); + +const operationBtnMap: Record<string, OperationBtnType> = { + 'settle-downloadBtn': { emits: { onClick: (role) => handleDownload(role) } }, +}; + +const { checkSubModuleItemShow, column, operationBtns } = useAccess({ + operationBtnMap, +}); + +const [settleColumns] = useGroupColumns(column, ['settle-']); +const [settleOperationBtns] = useGroupOperationBtns(operationBtns, ['settle-']); + +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.GetEnterprisesQuery = { + pageModel: { + rows: pageSize, + page: pageIndex, + orderInput: extraParamState.orderInput, + }, + // searchKeys: extraParamState.keyword, + }; + let res = await enterpriseServices.getEnterprises(params, { + showLoading: !state.loading, + }); + return res; + } catch (error) {} + }, + { + defaultExtraParams: { + keyword: '', + pageType: '' as any as number, + status: '' as any as boolean, + beginDate: [] as unknown as ModelValueType, + endDate: [] as unknown as ModelValueType, + orderInput: [{ property: 'id', order: EnumPagedListOrder.Asc }], + }, + columnsRenderProps: {}, + } +); + +function handleDownload(row) {} +</script> diff --git a/src/views/TaskManage/components/SignDetailView.vue b/src/views/TaskManage/components/SignDetailView.vue index 8a59d91..7ef9a0f 100644 --- a/src/views/TaskManage/components/SignDetailView.vue +++ b/src/views/TaskManage/components/SignDetailView.vue @@ -1,21 +1,14 @@ <template> <LoadingLayout :loading="state.loading"> <AppContainer> - <ProTableV2 v-bind="proTableProps" :columns="column" :operationBtns="operationBtns"> + <ProTableV2 v-bind="proTableProps" :columns="signColumns" :operationBtns="signOperationBtns"> </ProTableV2> </AppContainer> </LoadingLayout> </template> <script setup lang="ts"> -import { - OperationBtnType, - ProTableV2, - LoadingLayout, - AppContainer, - useTable, -} from '@bole-core/components'; -import { useAccess } from '@/hooks'; +import { ProTableV2, LoadingLayout, AppContainer, useTable } from '@bole-core/components'; import { ModelValueType } from 'element-plus'; import * as enterpriseServices from '@/services/api/enterprise'; @@ -24,25 +17,15 @@ }); const operationBtnMap: Record<string, OperationBtnType> = { - detailBtn: { emits: { onClick: (role) => goDetail(role) } }, - recommendBtn: { - emits: { onClick: (role) => setAdvertiseOnShowStatus(role) }, - extraProps: { - hide: (row) => row.status, - }, - }, - cancelRecommendBtn: { - emits: { onClick: (role) => setAdvertiseOnShowStatus(role) }, - props: { type: 'danger' }, - extraProps: { - hide: (row) => !row.status, - }, - }, + 'sign-detailBtn': { emits: { onClick: (role) => goDetail(role) } }, }; const { checkSubModuleItemShow, column, operationBtns } = useAccess({ operationBtnMap, }); + +const [signColumns] = useGroupColumns(column, ['sign-']); +const [signOperationBtns] = useGroupOperationBtns(operationBtns, ['sign-']); const router = useRouter(); const BaseState = { @@ -92,7 +75,7 @@ } ); -async function setAdvertiseOnShowStatus(row) { +async function handleRecommend(row) { try { } catch (error) {} } diff --git a/types/global.d.ts b/types/global.d.ts index 33ce661..b091bab 100644 --- a/types/global.d.ts +++ b/types/global.d.ts @@ -137,9 +137,9 @@ provinceName?: string; cityName?: string; countyName?: string; - provinceCode?: number; - cityCode?: number; - countyCode?: number; + provinceCode?: string; + cityCode?: string; + countyCode?: string; address?: string; } -- Gitblit v1.9.1