wupengfei
2025-04-03 692685949aa35bb2764566ef437bb7535113c6f2
feat: init
1个文件已修改
4个文件已添加
453 ■■■■■ 已修改文件
src/views/EnterpriseInfo/EnterpriseInfoDetail.vue 30 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/EnterpriseInfo/components/EnterpriseBasicInfoView.vue 98 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/EnterpriseInfo/components/EnterpriseDeclareRecordView.vue 116 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/EnterpriseInfo/components/RewardConsumeRecordView.vue 102 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/EnterpriseInfo/components/RewardGrantRecordView.vue 107 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/EnterpriseInfo/EnterpriseInfoDetail.vue
@@ -1,11 +1,39 @@
<template>
  <div>EnterpriseInfoDetail</div>
  <LoadingLayout>
    <AppContainer>
      <ProTabs v-model="state.tabType" hasBorder>
        <ProTabPane lazy label="企业基本信息" name="enterpriseBasicInfo">
          <EnterpriseBasicInfoView></EnterpriseBasicInfoView>
        </ProTabPane>
        <ProTabPane lazy label="企业申报记录" name="enterpriseDeclareRecord">
          <EnterpriseDeclareRecordView></EnterpriseDeclareRecordView>
        </ProTabPane>
        <ProTabPane lazy label="奖励金发放记录" name="rewardGrantRecord">
          <RewardGrantRecordView></RewardGrantRecordView>
        </ProTabPane>
        <ProTabPane lazy label="奖励金消费记录" name="rewardConsumeRecord">
          <RewardConsumeRecordView></RewardConsumeRecordView>
        </ProTabPane>
      </ProTabs>
    </AppContainer>
  </LoadingLayout>
</template>
<script setup lang="ts">
import { AppContainer, ProTabs, ProTabPane } from '@bole-core/components';
import EnterpriseBasicInfoView from './components/EnterpriseBasicInfoView.vue';
import EnterpriseDeclareRecordView from './components/EnterpriseDeclareRecordView.vue';
import RewardGrantRecordView from './components/RewardGrantRecordView.vue';
import RewardConsumeRecordView from './components/RewardConsumeRecordView.vue';
defineOptions({
  name: 'EnterpriseInfoDetail',
});
const state = reactive({
  loading: true,
  tabType: 'enterpriseBasicInfo',
});
</script>
<style lang="scss" scoped>
src/views/EnterpriseInfo/components/EnterpriseBasicInfoView.vue
New file
@@ -0,0 +1,98 @@
<template>
  <LoadingLayout :loading="isLoading">
    <AppContainer>
      <PageFormLayout>
        <ProForm :model="detail" ref="formRef" label-width="140px">
          <ProFormCol>
            <ProFormColItem :span="8">
              <ProFormItemV2 label="企业名称:" prop="serveName" mode="read">
                <ProFormText v-model.trim="detail.categoryName" />
              </ProFormItemV2>
            </ProFormColItem>
            <ProFormColItem :span="8">
              <ProFormItemV2 label="统一社会信用代码:" prop="serveName" mode="read">
                <ProFormText v-model.trim="detail.categoryName" />
              </ProFormItemV2>
            </ProFormColItem>
            <ProFormColItem :span="8">
              <ProFormItemV2 label="企业类型:" prop="serveName" mode="read">
                <ProFormText v-model.trim="detail.categoryName" />
              </ProFormItemV2>
            </ProFormColItem>
          </ProFormCol>
          <ProFormCol>
            <ProFormColItem :span="8">
              <ProFormItemV2 label="所属园区:" prop="serveName" mode="read">
                <ProFormText v-model.trim="detail.categoryName" />
              </ProFormItemV2>
            </ProFormColItem>
            <ProFormColItem :span="8">
              <ProFormItemV2 label="园区类型:" prop="serveName" mode="read">
                <ProFormText v-model.trim="detail.categoryName" />
              </ProFormItemV2>
            </ProFormColItem>
          </ProFormCol>
          <ProFormCol>
            <ProFormColItem :span="8">
              <ProFormItemV2 label="开户银行:" prop="serveName" mode="read">
                <ProFormText v-model.trim="detail.categoryName" />
              </ProFormItemV2>
            </ProFormColItem>
            <ProFormColItem :span="8">
              <ProFormItemV2 label="银行帐号:" prop="serveName" mode="read">
                <ProFormText v-model.trim="detail.categoryName" />
              </ProFormItemV2>
            </ProFormColItem>
          </ProFormCol>
          <ProFormCol>
            <ProFormColItem :span="8">
              <ProFormItemV2 label="营业执照:" prop="serveName" mode="read">
                <!-- <ProFormUpload v-model:file-url="detail.covers"></ProFormUpload> -->
              </ProFormItemV2>
            </ProFormColItem>
          </ProFormCol>
        </ProForm>
      </PageFormLayout>
    </AppContainer>
  </LoadingLayout>
</template>
<script setup lang="ts">
import {
  LoadingLayout,
  AppContainer,
  PageFormLayout,
  ProForm,
  ProFormCol,
  ProFormColItem,
  ProFormItemV2,
  ProFormText,
  ProFormUpload,
} from '@bole-core/components';
import { useQuery } from '@tanstack/vue-query';
import * as informationServices from '@/services/api/Information';
defineOptions({
  name: 'EnterpriseBasicInfoView',
});
const route = useRoute();
const id = route.params?.id as string;
const { data: detail, isLoading } = useQuery({
  queryKey: ['informationServices/getInformationShowDetail', id],
  queryFn: async () => {
    return await informationServices.getInformationShowDetail(
      { id: id },
      {
        showLoading: false,
      }
    );
  },
  placeholderData: () => ({} as API.InformationShowDetailDto),
});
</script>
<style lang="scss" scoped>
@use '@/style/common.scss' as *;
</style>
src/views/EnterpriseInfo/components/EnterpriseDeclareRecordView.vue
New file
@@ -0,0 +1,116 @@
<template>
  <LoadingLayout :loading="state.loading">
    <AppContainer>
      <ProTableV2 v-bind="proTableProps" :columns="column" :operationBtns="operationBtns">
      </ProTableV2>
    </AppContainer>
  </LoadingLayout>
</template>
<script setup lang="ts">
import { AppContainer, useTable, ProTableV2, defineOperationBtns } from '@bole-core/components';
import { OrderInputType } from '@bole-core/core';
import * as informationServices from '@/services/api/Information';
defineOptions({
  name: 'EnterpriseDeclareRecordView',
});
const column: API.CustomModuleColumnDto[] = [
  {
    id: '1',
    enCode: 'batchBillNo',
    name: '申报批次号',
  },
  {
    id: '2',
    enCode: 'changeType',
    name: '申报日期',
  },
  {
    id: '3',
    enCode: 'creationTime',
    name: '内部审核日期',
  },
  {
    id: '4',
    enCode: 'effectTime',
    name: '内部审核结果',
  },
  {
    id: '5',
    enCode: 'insurePersonNumber',
    name: '外部审核日期',
  },
  {
    id: '6',
    enCode: 'orginInsurePersonNumber',
    name: '外部审核结果',
  },
];
const operationBtns = defineOperationBtns([
  {
    data: {
      enCode: 'detailBtn',
      name: '详情',
    },
    emits: {
      onClick: (role) => goDetail(role),
    },
  },
]);
const route = useRoute();
const router = useRouter();
const id = route.params.id as string;
const BaseState = {
  loading: true,
};
const state = reactive({ ...BaseState });
const {
  getDataSource: getList,
  proTableProps,
  paginationState,
  extraParamState,
  reset,
} = useTable(
  async ({ pageIndex, pageSize }, extraParamState) => {
    try {
      let params: API.GetInformationForManageInput = {
        pageModel: {
          rows: pageSize,
          page: pageIndex,
          orderInput: extraParamState.orderInput,
        },
      };
      let res = await informationServices.getInformationForManage(params, {
        showLoading: !state.loading,
      });
      return res;
    } catch (error) {}
  },
  {
    defaultExtraParams: {
      orderInput: [{ property: 'creationTime', order: OrderInputType.Desc }],
    },
  }
);
async function goDetail(row: API.InsureBatchBillDto) {
  router.push({
    name: '',
  });
}
onMounted(async () => {
  await getList();
  state.loading = false;
});
</script>
<style lang="scss" scoped>
@use '@/style/common.scss' as *;
</style>
src/views/EnterpriseInfo/components/RewardConsumeRecordView.vue
New file
@@ -0,0 +1,102 @@
<template>
  <LoadingLayout :loading="state.loading">
    <AppContainer>
      <ProTableV2 v-bind="proTableProps" :columns="column" :operationBtns="operationBtns">
      </ProTableV2>
    </AppContainer>
  </LoadingLayout>
</template>
<script setup lang="ts">
import { AppContainer, useTable, ProTableV2, defineOperationBtns } from '@bole-core/components';
import { OrderInputType } from '@bole-core/core';
import * as informationServices from '@/services/api/Information';
defineOptions({
  name: 'RewardConsumeRecordView',
});
const column: API.CustomModuleColumnDto[] = [
  {
    id: '1',
    enCode: 'batchBillNo',
    name: '奖励金消费日期',
  },
  {
    id: '2',
    enCode: 'changeType',
    name: '消费类型',
  },
  {
    id: '3',
    enCode: 'creationTime',
    name: '消费金额',
  },
  {
    id: '4',
    enCode: 'effectTime',
    name: '奖励金余额',
  },
];
const operationBtns = defineOperationBtns([
  {
    data: {
      enCode: 'previewBtn',
      name: '查看凭证',
    },
    emits: {
      onClick: (role) => handlePreview(role),
    },
  },
]);
const route = useRoute();
const router = useRouter();
const id = route.params.id as string;
const BaseState = {
  loading: true,
};
const state = reactive({ ...BaseState });
const {
  getDataSource: getList,
  proTableProps,
  paginationState,
  extraParamState,
  reset,
} = useTable(
  async ({ pageIndex, pageSize }, extraParamState) => {
    try {
      let params: API.GetInformationForManageInput = {
        pageModel: {
          rows: pageSize,
          page: pageIndex,
          orderInput: extraParamState.orderInput,
        },
      };
      let res = await informationServices.getInformationForManage(params, {
        showLoading: !state.loading,
      });
      return res;
    } catch (error) {}
  },
  {
    defaultExtraParams: {
      orderInput: [{ property: 'creationTime', order: OrderInputType.Desc }],
    },
  }
);
function handlePreview(row: API.InsureBatchBillDto) {}
onMounted(async () => {
  await getList();
  state.loading = false;
});
</script>
<style lang="scss" scoped>
@use '@/style/common.scss' as *;
</style>
src/views/EnterpriseInfo/components/RewardGrantRecordView.vue
New file
@@ -0,0 +1,107 @@
<template>
  <LoadingLayout :loading="state.loading">
    <AppContainer>
      <ProTableV2 v-bind="proTableProps" :columns="column" :operationBtns="operationBtns">
      </ProTableV2>
    </AppContainer>
  </LoadingLayout>
</template>
<script setup lang="ts">
import { AppContainer, useTable, ProTableV2, defineOperationBtns } from '@bole-core/components';
import { OrderInputType } from '@bole-core/core';
import * as informationServices from '@/services/api/Information';
defineOptions({
  name: 'RewardGrantRecordView',
});
const column: API.CustomModuleColumnDto[] = [
  {
    id: '1',
    enCode: 'batchBillNo',
    name: '申报批次号',
  },
  {
    id: '2',
    enCode: 'changeType',
    name: '奖励金发放日期',
  },
  {
    id: '3',
    enCode: 'creationTime',
    name: '奖励金到账日期',
  },
  {
    id: '4',
    enCode: 'effectTime',
    name: '发放金额',
  },
  {
    id: '5',
    enCode: 'insurePersonNumber',
    name: '到账确认结果',
  },
];
const operationBtns = defineOperationBtns([
  {
    data: {
      enCode: 'previewBtn',
      name: '查看凭证',
    },
    emits: {
      onClick: (role) => handlePreview(role),
    },
  },
]);
const route = useRoute();
const router = useRouter();
const id = route.params.id as string;
const BaseState = {
  loading: true,
};
const state = reactive({ ...BaseState });
const {
  getDataSource: getList,
  proTableProps,
  paginationState,
  extraParamState,
  reset,
} = useTable(
  async ({ pageIndex, pageSize }, extraParamState) => {
    try {
      let params: API.GetInformationForManageInput = {
        pageModel: {
          rows: pageSize,
          page: pageIndex,
          orderInput: extraParamState.orderInput,
        },
      };
      let res = await informationServices.getInformationForManage(params, {
        showLoading: !state.loading,
      });
      return res;
    } catch (error) {}
  },
  {
    defaultExtraParams: {
      orderInput: [{ property: 'creationTime', order: OrderInputType.Desc }],
    },
  }
);
function handlePreview(row: API.InsureBatchBillDto) {}
onMounted(async () => {
  await getList();
  state.loading = false;
});
</script>
<style lang="scss" scoped>
@use '@/style/common.scss' as *;
</style>