wupengfei
2025-04-11 29f11797c036e8b7f66ba0337b1aaa005eb508e2
feat: 接口
7个文件已修改
11269 ■■■■ 已修改文件
.env.development 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
pnpm-lock.yaml 11184 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/utils/common/file.ts 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/EnterpriseInfo/components/EnterpriseBasicInfoView.vue 7 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/EnterpriseInfo/components/RewardConsumeRecordView.vue 21 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/EnterpriseInfo/components/RewardGrantRecordView.vue 21 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/Reward/RewardGrant.vue 30 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
.env.development
@@ -1,5 +1,5 @@
# 项目本地运行端口号
VITE_PORT = 8388
VITE_PORT = 8688
# 开发环境读取配置文件路径
VITE_PUBLIC_PATH = /
pnpm-lock.yaml
Diff too large
src/utils/common/file.ts
@@ -25,6 +25,10 @@
  return path ? [convertApi2FormUrl(path)] : [];
}
export function convertApi2FormUrlBySeparator(path: string, separator = '|') {
  return path.split(separator).map((x) => setOSSLink(x));
}
/**
 * 把upload的路径转换为上传到api的路径
 */
src/views/EnterpriseInfo/components/EnterpriseBasicInfoView.vue
@@ -85,12 +85,7 @@
const { data: detail, isLoading } = useQuery({
  queryKey: ['customerServices/getParkCustomerManageBaseDetail', id],
  queryFn: async () => {
    return await customerServices.getParkCustomerManageBaseDetail(
      { id: id },
      {
        showLoading: false,
      }
    );
    return await customerServices.getParkCustomerManageBaseDetail({ id: id });
  },
  placeholderData: () => ({} as API.GetParkCustomerManageDetailOutput),
  enabled: !!id,
src/views/EnterpriseInfo/components/RewardConsumeRecordView.vue
@@ -2,13 +2,27 @@
  <LoadingLayout :loading="state.loading">
    <AppContainer>
      <ProTableV2 v-bind="proTableProps" :columns="column" :operationBtns="operationBtns">
        <template #operationBtn-checkBtn="{ data, row }">
          <PreviewBtnV2
            class="pro-table-operation-btn"
            :url="convertApi2FormUrlBySeparator(row.payFileUrl ?? '')"
            preview-btn-text="查看凭证"
          />
        </template>
      </ProTableV2>
    </AppContainer>
  </LoadingLayout>
</template>
<script setup lang="ts">
import { AppContainer, useTable, ProTableV2, defineOperationBtns } from '@bole-core/components';
import {
  AppContainer,
  useTable,
  ProTableV2,
  defineOperationBtns,
  PreviewBtnV2,
} from '@bole-core/components';
import { convertApi2FormUrlBySeparator } from '@/utils';
import { OrderInputType } from '@bole-core/core';
import * as parkRewardServices from '@/services/api/ParkReward';
import { EnterpriseBountyPayTypeEnumText } from '@/constants';
@@ -43,11 +57,8 @@
const operationBtns = defineOperationBtns([
  {
    data: {
      enCode: 'previewBtn',
      enCode: 'checkBtn',
      name: '查看凭证',
    },
    emits: {
      onClick: (role) => handlePreview(role),
    },
  },
]);
src/views/EnterpriseInfo/components/RewardGrantRecordView.vue
@@ -2,13 +2,27 @@
  <LoadingLayout :loading="state.loading">
    <AppContainer>
      <ProTableV2 v-bind="proTableProps" :columns="column" :operationBtns="operationBtns">
        <template #operationBtn-checkBtn="{ data, row }">
          <PreviewBtnV2
            class="pro-table-operation-btn"
            :url="convertApi2FormUrlBySeparator(row.transferToFileUrl ?? '')"
            preview-btn-text="查看凭证"
          />
        </template>
      </ProTableV2>
    </AppContainer>
  </LoadingLayout>
</template>
<script setup lang="ts">
import { AppContainer, useTable, ProTableV2, defineOperationBtns } from '@bole-core/components';
import {
  AppContainer,
  useTable,
  ProTableV2,
  defineOperationBtns,
  PreviewBtnV2,
} from '@bole-core/components';
import { convertApi2FormUrlBySeparator } from '@/utils';
import { OrderInputType } from '@bole-core/core';
import * as parkBountyApplyServices from '@/services/api/ParkBountyApply';
import { IncomeStatusEnumText } from '@/constants';
@@ -48,11 +62,8 @@
const operationBtns = defineOperationBtns([
  {
    data: {
      enCode: 'previewBtn',
      enCode: 'checkBtn',
      name: '查看凭证',
    },
    emits: {
      onClick: (role) => handlePreview(role),
    },
  },
]);
src/views/Reward/RewardGrant.vue
@@ -47,6 +47,13 @@
      </ProTableQueryFilterBar>
      <ProTableV2 v-bind="proTableProps" :columns="column" :operationBtns="operationBtns">
        <template #operationBtn-checkBtn="{ data, row }">
          <PreviewBtnV2
            class="pro-table-operation-btn"
            :url="convertApi2FormUrlBySeparator(row.settleFileUrl ?? '')"
            preview-btn-text="查看凭证"
          />
        </template>
      </ProTableV2>
      <RewardGrantDialog v-bind="dialogProps"></RewardGrantDialog>
    </AppContainer>
@@ -67,10 +74,15 @@
  FieldDatePicker,
  useFormDialog,
  UploadUserFile,
  bolePreview,
  PreviewBtnV2,
} from '@bole-core/components';
import { Message, OrderInputType } from '@bole-core/core';
import { convertApi2FormUrl, convertApi2FormUrlOnlyOne, downloadFileByUrl, format } from '@/utils';
import {
  convertApi2FormUrl,
  convertApi2FormUrlBySeparator,
  downloadFileByUrl,
  format,
} from '@/utils';
import { SettleStatusEnum, SettleStatusEnumText } from '@/constants';
import * as parkBountyApplyServices from '@/services/api/ParkBountyApply';
import RewardGrantDialog from './components/RewardGrantDialog.vue';
@@ -149,11 +161,8 @@
  },
  {
    data: {
      enCode: 'previewBtn',
      enCode: 'checkBtn',
      name: '查看凭证',
    },
    emits: {
      onClick: (role) => handlePreview(role),
    },
    extraProps: {
      hide: (row: API.GetParkBountyApplyListOutput) =>
@@ -256,15 +265,6 @@
      getList(paginationState.pageIndex);
    }
  } catch (error) {}
}
function handlePreview(row?: API.GetParkBountyApplyListOutput) {
  const fileList = row.settleFileUrl?.split('|').map((x) => convertApi2FormUrl(x)) ?? [];
  if (fileList.length > 1) {
    console.log('fileList: ', fileList);
  } else {
    downloadFileByUrl(fileList[0]);
  }
}
</script>