From dbebb8c83128e379bb24d8d7c1bf0838d7c5ebdc Mon Sep 17 00:00:00 2001
From: zhengyiming <540361168@qq.com>
Date: 星期四, 20 十一月 2025 15:03:42 +0800
Subject: [PATCH] fix: s
---
src/views/MaterialReview/MaterialReview.vue | 187 +++++++++++++++++++++++++++-------------------
1 files changed, 111 insertions(+), 76 deletions(-)
diff --git a/src/views/MaterialReview/MaterialReview.vue b/src/views/MaterialReview/MaterialReview.vue
index c3e7ca4..a2faf67 100644
--- a/src/views/MaterialReview/MaterialReview.vue
+++ b/src/views/MaterialReview/MaterialReview.vue
@@ -3,9 +3,20 @@
<AppContainer>
<ProTableQueryFilterBar @on-reset="reset">
<template #query>
- <QueryFilterItem tip-content="鏈�杩戠敵鎶ユ棩鏈�">
+ <QueryFilterItem>
+ <FieldSelect
+ v-model="extraParamState.industrialParkId"
+ placeholder="璇烽�夋嫨鍥尯"
+ :value-enum="fourStreamsIndustrialParkList"
+ enumLabelKey="parkName"
+ enum-value-key="id"
+ clearable
+ @change="getList()"
+ />
+ </QueryFilterItem>
+ <QueryFilterItem tip-content="鐢虫姤鏃ユ湡">
<FieldDatePicker
- v-model="extraParamState.date"
+ v-model="extraParamState.creationTime"
type="daterange"
range-separator="~"
start-placeholder="寮�濮嬫棩鏈�"
@@ -14,9 +25,9 @@
@change="getList()"
></FieldDatePicker>
</QueryFilterItem>
- <QueryFilterItem tip-content="鏈�杩戝彂鏀炬棩鏈�">
+ <QueryFilterItem tip-content="瀹℃牳鏃ユ湡">
<FieldDatePicker
- v-model="extraParamState.date"
+ v-model="extraParamState.outCheckTime"
type="daterange"
range-separator="~"
start-placeholder="寮�濮嬫棩鏈�"
@@ -27,8 +38,8 @@
</QueryFilterItem>
<QueryFilterItem>
<FieldRadio
- v-model="extraParamState.showStatus"
- :value-enum="DataRangeEnumText"
+ v-model="extraParamState.outCheckStatus"
+ :value-enum="BountyCheckStatusEnumText"
buttonStyle
showAllBtn
@change="getList()"
@@ -36,7 +47,7 @@
</QueryFilterItem>
<QueryFilterItem>
<SearchInput
- v-model="extraParamState.keyword"
+ v-model="extraParamState.batchNo"
style="width: 200px"
placeholder="鎵规鍙�"
@on-click-search="getList"
@@ -48,7 +59,9 @@
<ProTableV2 v-bind="proTableProps" :columns="column" :operationBtns="operationBtns">
</ProTableV2>
+ <ParkBountyApplyRedoDialog v-bind="dialogProps" />
</AppContainer>
+ <OperateHistoryLogDialog v-bind="logDialogProps" />
</LoadingLayout>
</template>
@@ -64,87 +77,65 @@
FieldRadio,
QueryFilterItem,
FieldDatePicker,
+ FieldSelect,
+ useFormDialog,
} from '@bole-core/components';
-import { OrderInputType } from '@bole-core/core';
+import { Message, OrderInputType } from '@bole-core/core';
import { format } from '@/utils';
-import { DataRangeEnum, DataRangeEnumText } from '@/constants';
-import * as informationServices from '@/services/api/Information';
+import { BountyCheckStatusEnum, BountyCheckStatusEnumText, DataRangeEnumText } from '@/constants';
+import * as parkBountyApplyServices from '@/services/api/ParkBountyApply';
import _ from 'lodash';
import { ModelValueType } from 'element-plus';
-import { useGlobalEventContext } from '@/hooks';
+import {
+ useAccess,
+ useGlobalEventContext,
+ useIndustrialParkDropDownList,
+ useOpenLogDialog,
+} from '@/hooks';
+import ParkBountyApplyRedoDialog from './components/ParkBountyApplyRedoDialog.vue';
defineOptions({
- name: 'MaterialReview',
+ name: 'MaterialReviewList',
});
-const column: API.CustomModuleColumnDto[] = [
- {
- id: '1',
- enCode: 'changeFlag',
- name: '鐢宠鎵规鍙�',
- },
- {
- id: '2',
- enCode: 'name',
- name: '鐢宠鍥尯',
- },
- {
- id: '3',
- enCode: 'idNumber',
- name: '鍥尯绫诲瀷',
- },
- {
- id: '4',
- enCode: 'workType',
- name: '鐢宠濂栧姳閲戞湀浠�',
- },
- {
- id: '5',
- enCode: 'gender',
- name: '濂栧姳閲戞眹鎬婚噾棰濓紙鍏冿級',
- },
- {
- id: '6',
- enCode: 'age',
- name: '鐢虫姤鏃ユ湡',
- },
- {
- id: '7',
- enCode: 'birthDay',
- name: '瀹℃牳鏃ユ湡',
- },
- {
- id: '8',
- enCode: 'phoneNumber',
- name: '瀹℃牳鐘舵��',
- },
-];
-
-const operationBtns = defineOperationBtns([
- {
- data: {
- enCode: 'detailBtn',
- name: '璇︽儏',
- },
+const operationBtnMap: Record<string, OperationBtnType> = {
+ detailBtn: {
emits: {
onClick: (role) => goDetail(role),
},
},
- {
- data: {
- enCode: 'auditBtn',
- name: '瀹℃牳',
- },
+ auditBtn: {
emits: {
onClick: (role) => goAudit(role),
},
+ extraProps: {
+ hide: (row: API.GetParkBountyApplyListOutput) =>
+ row.outCheckStatus !== BountyCheckStatusEnum.WaitCheck,
+ },
},
-]);
+ redoBtn: {
+ emits: {
+ onClick: (role) => openDialog(role),
+ },
+ extraProps: {
+ hide: (row: API.GetParkBountyApplyListOutput) =>
+ row.outCheckStatus !== BountyCheckStatusEnum.CheckPassed ||
+ row.dualReviewOfGovernmentAffairs,
+ },
+ },
+ logBtn: { emits: { onClick: (role) => openLogDialog(role.id) } },
+};
+
+const { checkSubModuleItemShow, column, operationBtns } = useAccess({
+ operationBtnMap,
+});
const router = useRouter();
const BaseState = {
loading: true,
};
+
+const { fourStreamsIndustrialParkList } = useIndustrialParkDropDownList();
const state = reactive({ ...BaseState });
@@ -168,16 +159,21 @@
} = useTable(
async ({ pageIndex, pageSize }, extraParamState) => {
try {
- let params: API.GetInformationForManageInput = {
+ let params: API.GetParkBountyApplyListInput = {
pageModel: {
rows: pageSize,
page: pageIndex,
orderInput: extraParamState.orderInput,
},
- publishStartDate: format(extraParamState.date?.[0] ?? '', 'YYYY-MM-DD 00:00:00'),
- publishEndDate: format(extraParamState.date?.[1] ?? '', 'YYYY-MM-DD 23:59:59'),
+ batchNo: extraParamState.batchNo,
+ outCheckStatus: extraParamState.outCheckStatus,
+ creationTimeBegin: format(extraParamState.creationTime?.[0] ?? '', 'YYYY-MM-DD 00:00:00'),
+ creationTimeEnd: format(extraParamState.creationTime?.[1] ?? '', 'YYYY-MM-DD 23:59:59'),
+ outCheckTimeBegin: format(extraParamState.outCheckTime?.[0] ?? '', 'YYYY-MM-DD 00:00:00'),
+ outCheckTimeEnd: format(extraParamState.outCheckTime?.[1] ?? '', 'YYYY-MM-DD 23:59:59'),
+ industrialParkId: extraParamState.industrialParkId,
};
- let res = await informationServices.getInformationForManage(params, {
+ let res = await parkBountyApplyServices.getOutcheckParkBountyList(params, {
showLoading: !state.loading,
});
return res;
@@ -185,15 +181,24 @@
},
{
defaultExtraParams: {
- keyword: '',
- showStatus: '' as any as DataRangeEnum,
- date: [] as unknown as ModelValueType,
+ batchNo: '',
+ outCheckStatus: '' as any as BountyCheckStatusEnum,
+ creationTime: [] as unknown as ModelValueType,
+ outCheckTime: [] as unknown as ModelValueType,
orderInput: [{ property: 'creationTime', order: OrderInputType.Desc }],
+ industrialParkId: '',
+ },
+ columnsRenderProps: {
+ applyMonth: { type: 'date', format: 'YYYY骞碝M鏈�' },
+ creationTime: { type: 'date', format: 'YYYY-MM-DD HH:mm:ss' },
+ outCheckTime: { type: 'date', format: 'YYYY-MM-DD HH:mm:ss' },
+ applySumAmount: { type: 'money', precision: 2 },
+ outCheckStatus: { type: 'enum', valueEnum: BountyCheckStatusEnumText },
},
}
);
-function goDetail(row: any) {
+function goDetail(row: API.GetParkBountyApplyListOutput) {
router.push({
name: 'MaterialReviewDetail',
params: {
@@ -201,7 +206,7 @@
},
});
}
-function goAudit(row: any) {
+function goAudit(row: API.GetParkBountyApplyListOutput) {
router.push({
name: 'MaterialReviewAudit',
params: {
@@ -209,6 +214,36 @@
},
});
}
+
+function openDialog(row: API.GetParkBountyApplyListOutput) {
+ handleAdd({
+ parkBountyApplyId: row.id,
+ });
+}
+
+const { dialogProps, handleAdd, editForm } = useFormDialog({
+ onConfirm: outcheckParkBountyApplyRedoed,
+ defaultFormParams: {
+ reasonForWithdrawal: '',
+ parkBountyApplyId: '',
+ },
+});
+
+async function outcheckParkBountyApplyRedoed() {
+ try {
+ let params: API.OutcheckParkBountyApplyRedoedInput = {
+ parkBountyApplyId: editForm.parkBountyApplyId,
+ reasonForWithdrawal: editForm.reasonForWithdrawal,
+ };
+ let res = await parkBountyApplyServices.outcheckParkBountyApplyRedoed(params);
+ if (res) {
+ Message.successMessage('鎿嶄綔鎴愬姛');
+ getList(paginationState.pageIndex);
+ }
+ } catch (error) {}
+}
+
+const { openLogDialog, logDialogProps } = useOpenLogDialog();
</script>
<style lang="scss" scoped>
--
Gitblit v1.9.1