zhengyiming
6 天以前 44f10c278aae48b8793ae7309488c24494e69866
fix: s
6个文件已修改
1个文件已添加
197 ■■■■■ 已修改文件
src/constants/reward.ts 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/services/api/ParkBountyApply.ts 30 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/services/api/typings.d.ts 8 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/MaterialReview/MaterialReReviewList.vue 35 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/MaterialReview/MaterialReview.vue 35 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/MaterialReview/MaterialReviewDetail.vue 12 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/MaterialReview/components/ParkBountyApplyRedoDialog.vue 76 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/constants/reward.ts
@@ -22,6 +22,7 @@
}
export const BountyCheckStatusEnumText = {
  [BountyCheckStatusEnum.Redoed]: '已撤回',
  [BountyCheckStatusEnum.WaitCheck]: '待审核',
  [BountyCheckStatusEnum.CheckPassed]: '审核通过',
  [BountyCheckStatusEnum.CheckReject]: '审核未通过',
src/services/api/ParkBountyApply.ts
@@ -931,6 +931,36 @@
  });
}
/** 政务端-材料审核-外部审核撤回 POST /api/ParkBountyApply/OutcheckParkBountyApplyRedoed */
export async function outcheckParkBountyApplyRedoed(
  body: API.OutcheckParkBountyApplyRedoedInput,
  options?: API.RequestConfig
) {
  return request<number>('/api/ParkBountyApply/OutcheckParkBountyApplyRedoed', {
    method: 'POST',
    headers: {
      'Content-Type': 'application/json',
    },
    data: body,
    ...(options || {}),
  });
}
/** 外部审核撤回-复审撤回 POST /api/ParkBountyApply/OutcheckParkBountyApplyReRedoed */
export async function outcheckParkBountyApplyReRedoed(
  body: API.OutcheckParkBountyApplyRedoedInput,
  options?: API.RequestConfig
) {
  return request<number>('/api/ParkBountyApply/OutcheckParkBountyApplyReRedoed', {
    method: 'POST',
    headers: {
      'Content-Type': 'application/json',
    },
    data: body,
    ...(options || {}),
  });
}
/** 政务端-材料审核-外部复审核 POST /api/ParkBountyApply/OutReCheckParkBountyApply */
export async function outReCheckParkBountyApply(
  body: API.OutReCheckParkBountyApplyInput,
src/services/api/typings.d.ts
@@ -9374,6 +9374,8 @@
    outReCheckStatus?: BountyCheckStatusEnum;
    /** 政务端复审时间 */
    outReCheckTime?: string;
    /** 撤回原因 */
    reasonForWithdrawal?: string;
  }
  interface GetParkBountyApplyListOutputPageOutput {
@@ -16676,6 +16678,12 @@
    extraListFiles?: CustomerUploadMonthApplyFileTypeDto[];
  }
  interface OutcheckParkBountyApplyRedoedInput {
    parkBountyApplyId?: string;
    /** 撤回原因 */
    reasonForWithdrawal?: string;
  }
  interface OutReCheckParkBountyApplyInput {
    parkBountyApplyId?: string;
    outReCheckStatus?: BountyCheckStatusEnum;
src/views/MaterialReview/MaterialReReviewList.vue
@@ -59,6 +59,7 @@
      <ProTableV2 v-bind="proTableProps" :columns="column" :operationBtns="operationBtns">
      </ProTableV2>
      <ParkBountyApplyRedoDialog v-bind="dialogProps" />
    </AppContainer>
  </LoadingLayout>
</template>
@@ -76,14 +77,16 @@
  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 { BountyCheckStatusEnum, BountyCheckStatusEnumText, DataRangeEnumText } from '@/constants';
import * as parkBountyApplyServices from '@/services/api/ParkBountyApply';
import _ from 'lodash';
import { ModelValueType } from 'element-plus';
import { useAccess, useGlobalEventContext, useIndustrialParkDropDownList } from '@/hooks';
import ParkBountyApplyRedoDialog from './components/ParkBountyApplyRedoDialog.vue';
defineOptions({
  name: 'MaterialReviewList',
@@ -106,7 +109,7 @@
  },
  redoBtn: {
    emits: {
      onClick: (role) => goAudit(role),
      onClick: (role) => openDialog(role),
    },
    extraProps: {
      hide: (row: API.GetParkBountyApplyListOutput) =>
@@ -212,4 +215,32 @@
    },
  });
}
function openDialog(row: API.GetParkBountyApplyListOutput) {
  handleAdd({
    parkBountyApplyId: row.id,
  });
}
const { dialogProps, handleAdd, editForm } = useFormDialog({
  onConfirm: outcheckParkBountyApplyReRedoed,
  defaultFormParams: {
    reasonForWithdrawal: '',
    parkBountyApplyId: '',
  },
});
async function outcheckParkBountyApplyReRedoed() {
  try {
    let params: API.OutcheckParkBountyApplyRedoedInput = {
      parkBountyApplyId: editForm.parkBountyApplyId,
      reasonForWithdrawal: editForm.reasonForWithdrawal,
    };
    let res = await parkBountyApplyServices.outcheckParkBountyApplyReRedoed(params);
    if (res) {
      Message.successMessage('操作成功');
      getList(paginationState.pageIndex);
    }
  } catch (error) {}
}
</script>
src/views/MaterialReview/MaterialReview.vue
@@ -59,6 +59,7 @@
      <ProTableV2 v-bind="proTableProps" :columns="column" :operationBtns="operationBtns">
      </ProTableV2>
      <ParkBountyApplyRedoDialog v-bind="dialogProps" />
    </AppContainer>
  </LoadingLayout>
</template>
@@ -76,14 +77,16 @@
  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 { BountyCheckStatusEnum, BountyCheckStatusEnumText, DataRangeEnumText } from '@/constants';
import * as parkBountyApplyServices from '@/services/api/ParkBountyApply';
import _ from 'lodash';
import { ModelValueType } from 'element-plus';
import { useAccess, useGlobalEventContext, useIndustrialParkDropDownList } from '@/hooks';
import ParkBountyApplyRedoDialog from './components/ParkBountyApplyRedoDialog.vue';
defineOptions({
  name: 'MaterialReviewList',
@@ -106,7 +109,7 @@
  },
  redoBtn: {
    emits: {
      onClick: (role) => goAudit(role),
      onClick: (role) => openDialog(role),
    },
    extraProps: {
      hide: (row: API.GetParkBountyApplyListOutput) =>
@@ -203,6 +206,34 @@
    },
  });
}
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) {}
}
</script>
<style lang="scss" scoped>
src/views/MaterialReview/MaterialReviewDetail.vue
@@ -13,8 +13,11 @@
                >
              </span>
              <span class="page-form-layout-title-item remark">
                <TextOverTooltip v-if="form.outCheckStatus === BountyCheckStatusEnum.CheckReject">
                  {{ `复审未通过原因:${form.outCheckRemark ?? ''}` }}
                <TextOverTooltip v-if="form.outReCheckStatus === BountyCheckStatusEnum.CheckReject">
                  {{ `复审未通过原因:${form.outReCheckRemark ?? ''}` }}
                </TextOverTooltip>
                <TextOverTooltip v-if="form.outReCheckStatus === BountyCheckStatusEnum.Redoed">
                  {{ `撤回原因:${form.reasonForWithdrawal ?? ''}` }}
                </TextOverTooltip>
              </span>
            </template>
@@ -28,6 +31,9 @@
              <span class="page-form-layout-title-item remark">
                <TextOverTooltip v-if="form.outCheckStatus === BountyCheckStatusEnum.CheckReject">
                  {{ `审核未通过原因:${form.outCheckRemark ?? ''}` }}
                </TextOverTooltip>
                <TextOverTooltip v-if="form.outCheckStatus === BountyCheckStatusEnum.Redoed">
                  {{ `撤回原因:${form.reasonForWithdrawal ?? ''}` }}
                </TextOverTooltip>
              </span>
            </template>
@@ -112,6 +118,7 @@
  outReCheckStatus: '' as any as BountyCheckStatusEnum,
  outReCheckRemark: '',
  reasonForWithdrawal: '',
  suportPlatRecharge: false,
  suportFinance: false,
@@ -165,6 +172,7 @@
    form.suportPlatRecharge = data.suportPlatRecharge;
    form.suportFinance = data.suportFinance;
    form.reasonForWithdrawal = data.reasonForWithdrawal ?? '';
    getList();
  },
src/views/MaterialReview/components/ParkBountyApplyRedoDialog.vue
New file
@@ -0,0 +1,76 @@
<template>
  <ProDialog title="撤回申报" v-model="visible" @close="onDialogClose" destroy-on-close draggable>
    <ProForm :model="form" ref="dialogForm" label-width="110px">
      <ProFormItemV2
        label="撤回原因"
        prop="reasonForWithdrawal"
        :check-rules="[{ message: '请输入撤回原因' }]"
      >
        <ProFormTextArea
          placeholder="请输入"
          v-model="form.reasonForWithdrawal"
          :maxlength="150"
          show-word-limit
        ></ProFormTextArea>
      </ProFormItemV2>
    </ProForm>
    <template #footer>
      <span class="dialog-footer">
        <el-button @click="emit('onCancel')">取 消</el-button>
        <el-button type="primary" @click="handleConfirm">确 定</el-button>
      </span>
    </template>
  </ProDialog>
</template>
<script setup lang="ts">
import { FormInstance } from 'element-plus';
import {
  ProDialog,
  ProForm,
  ProFormItemV2,
  ProFormTextArea,
  UploadUserFile,
} from '@bole-core/components';
defineOptions({
  name: 'ParkBountyApplyRedoDialog',
});
// type Props = {};
// const props = withDefaults(defineProps<Props>(), {});
const visible = defineModel({ type: Boolean });
type Form = {
  title?: string;
  reasonForWithdrawal: string;
  parkBountyApplyId: string;
};
const form = defineModel<Form>('form');
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;
    }
  });
}
</script>