From cd4a07141ec97ff6c51dd7137462e506d8d0881f Mon Sep 17 00:00:00 2001
From: wupengfei <834520024@qq.com>
Date: 星期五, 21 三月 2025 16:56:03 +0800
Subject: [PATCH] feat: init
---
src/views/Home/components/BatchChangeRecordView.vue | 33 +++--
src/views/Home/components/UploadInsurePersonDialog.vue | 8 +
src/views/Home/components/UploadStampFileDialog.vue | 8 +
src/views/Home/components/InsureOrderInfoView.vue | 232 +++++++++++++++++++-------------------
src/views/Home/Home.vue | 38 ++---
5 files changed, 164 insertions(+), 155 deletions(-)
diff --git a/src/views/Home/Home.vue b/src/views/Home/Home.vue
index 6f780af..f98ab8e 100644
--- a/src/views/Home/Home.vue
+++ b/src/views/Home/Home.vue
@@ -124,14 +124,11 @@
const operationBtns = defineOperationBtns([
{
data: {
- enCode: 'downloadBtn',
- name: '淇濆崟涓嬭浇',
+ enCode: 'detailBtn',
+ name: '璇︽儏',
},
emits: {
- onClick: (role) => handleDownloadOrderNo(role),
- },
- extraProps: {
- hide: (row: API.InsuranceOrderListOutput) => !row.orderBillFile,
+ onClick: (role) => handleDetail(role),
},
},
{
@@ -142,9 +139,9 @@
emits: {
onClick: (role) => handleBatch(role),
},
- // extraProps: {
- // hide: (row: API.InsuranceOrderListOutput) => !row.orderBillFile,
- // },
+ extraProps: {
+ hide: (row: API.InsuranceOrderListOutput) => !row.orderBillFile,
+ },
},
{
data: {
@@ -154,17 +151,20 @@
emits: {
onClick: (role) => handleUploadStampFile(role),
},
- extraProps: {
- hide: (row: API.InsuranceOrderListOutput) => !row.orderBillFile,
- },
+ // extraProps: {
+ // hide: (row: API.InsuranceOrderListOutput) => !row.orderBillFile,
+ // },
},
{
data: {
- enCode: 'detailBtn',
- name: '璇︽儏',
+ enCode: 'downloadBtn',
+ name: '淇濆崟涓嬭浇',
},
emits: {
- onClick: (role) => handleDetail(role),
+ onClick: (role) => handleDownloadOrderNo(role),
+ },
+ extraProps: {
+ hide: (row: API.InsuranceOrderListOutput) => !row.orderBillFile,
},
},
]).filter(Boolean);
@@ -218,14 +218,6 @@
format: 'YYYY/MM/DD',
},
},
- showSummary: true,
- summaryPropertys: [
- {
- property: 'table-operation',
- valueKey: 'totalAmount',
- formatter: (v) => `锟�${toThousand(v)}`,
- },
- ],
}
);
diff --git a/src/views/Home/components/BatchChangeRecordView.vue b/src/views/Home/components/BatchChangeRecordView.vue
index c79d563..0dcdf53 100644
--- a/src/views/Home/components/BatchChangeRecordView.vue
+++ b/src/views/Home/components/BatchChangeRecordView.vue
@@ -1,17 +1,19 @@
<template>
- <AppContainer>
- <ProTableV2
- v-bind="proTableProps"
- :columns="column"
- :operationBtns="operationBtns"
- :autoHeight="false"
- :tableProps="{
- maxHeight: '400px',
- }"
- >
- </ProTableV2>
- <BatchChangeRecordDetailDialog v-bind="dialogProps"></BatchChangeRecordDetailDialog>
- </AppContainer>
+ <LoadingLayout :loading="state.loading">
+ <AppContainer>
+ <ProTableV2
+ v-bind="proTableProps"
+ :columns="column"
+ :operationBtns="operationBtns"
+ :autoHeight="false"
+ :tableProps="{
+ maxHeight: '400px',
+ }"
+ >
+ </ProTableV2>
+ <BatchChangeRecordDetailDialog v-bind="dialogProps"></BatchChangeRecordDetailDialog>
+ </AppContainer>
+ </LoadingLayout>
</template>
<script setup lang="ts">
@@ -146,8 +148,9 @@
});
}
-onMounted(() => {
- getBatchRefundInfoDetail();
+onMounted(async () => {
+ await getBatchRefundInfoDetail();
+ state.loading = false;
});
</script>
diff --git a/src/views/Home/components/InsureOrderInfoView.vue b/src/views/Home/components/InsureOrderInfoView.vue
index fba6353..57ab2cf 100644
--- a/src/views/Home/components/InsureOrderInfoView.vue
+++ b/src/views/Home/components/InsureOrderInfoView.vue
@@ -1,111 +1,113 @@
<template>
- <AppScrollContainer>
- <ChunkCell title="">
- <ProForm :model="detail" ref="formRef" label-width="120px" :is-read="true">
- <ProFormCol>
- <ProFormColItem :span="8">
- <ProFormItemV2 label="淇濆崟鍙�:" prop="orderNo">
- <ProFormText v-model.trim="detail.orderNo" />
- </ProFormItemV2>
- </ProFormColItem>
- <ProFormColItem :span="8">
- <ProFormItemV2 label="鐢熸晥鐘舵��:" prop="insuranceTypeCode">
- <ProFormRadio v-model="detail.insuranceType" :value-enum="insuranceTypeText" />
- </ProFormItemV2>
- </ProFormColItem>
- </ProFormCol>
- <ProFormCol>
- <ProFormColItem :span="8">
- <ProFormItemV2 label="淇濋櫓璧锋湡:" prop="applyTime">
- <ProFormDatePicker v-model.trim="detail.createTime" format="YYYY-MM-DD HH:mm" />
- </ProFormItemV2>
- </ProFormColItem>
- <ProFormColItem :span="8">
- <ProFormItemV2 label="淇濋櫓姝㈡湡:" prop="insuranceTypeCode">
- <ProFormDatePicker v-model.trim="detail.createTime" format="YYYY-MM-DD HH:mm" />
- </ProFormItemV2>
- </ProFormColItem>
- <ProFormColItem :span="8">
- <ProFormItemV2 label="鎶曚繚鏂瑰紡:" prop="insureWay">
- <ProFormRadio v-model="detail.insuranceType" :value-enum="insuranceTypeText" />
- </ProFormItemV2>
- </ProFormColItem>
- </ProFormCol>
- <ProFormCol>
- <ProFormColItem :span="8">
- <ProFormItemV2 label="鍙備繚鏈烘瀯:" prop="applyTime">
- <ProFormText v-model.trim="detail.orderNo" />
- </ProFormItemV2>
- </ProFormColItem>
- <ProFormColItem :span="8">
- <ProFormItemV2 label="鎶曚繚鏂规:" prop="applyTime">
- <ProFormText v-model.trim="detail.orderNo" />
- </ProFormItemV2>
- </ProFormColItem>
- <ProFormColItem :span="8">
- <ProFormItemV2 label="鎶曚繚浜烘暟:" prop="numberOfFailed">
- <ProFormInputNumber v-model.trim="detail.incDecAmount" unit="浜�" />
- </ProFormItemV2>
- </ProFormColItem>
- </ProFormCol>
- <ProFormCol>
- <ProFormColItem :span="8">
- <ProFormItemV2 label="鎶曚繚浜�:" prop="companyName">
- <ProFormText v-model.trim="detail.orderNo" />
- </ProFormItemV2>
- </ProFormColItem>
- <ProFormColItem :span="8">
- <ProFormItemV2 label="琚繚浜�:" prop="insuranceTypeCode">
- <ProFormText v-model.trim="detail.orderNo" />
- </ProFormItemV2>
- </ProFormColItem>
- </ProFormCol>
- </ProForm>
- </ChunkCell>
- <ChunkCell title="浜哄憳淇℃伅">
- <template #titleRight>
- <el-button type="primary" @click="handleBatchChange">鎵规敼鐢宠</el-button>
- </template>
- <ProTableQueryFilterBar @on-reset="reset">
- <template #query>
- <QueryFilterItem>
- <SearchInput
- v-model="extraParamState.keyWord"
- style="width: 300px"
- placeholder="浜哄憳濮撳悕/韬唤璇佸彿/鎵嬫満鍙�"
- @on-click-search="getBatchRefundInfoDetail"
+ <LoadingLayout :loading="state.loading">
+ <AppScrollContainer>
+ <ChunkCell title="">
+ <ProForm :model="detail" ref="formRef" label-width="120px" :is-read="true">
+ <ProFormCol>
+ <ProFormColItem :span="8">
+ <ProFormItemV2 label="淇濆崟鍙�:" prop="orderNo">
+ <ProFormText v-model.trim="detail.orderNo" />
+ </ProFormItemV2>
+ </ProFormColItem>
+ <ProFormColItem :span="8">
+ <ProFormItemV2 label="鐢熸晥鐘舵��:" prop="insuranceTypeCode">
+ <ProFormRadio v-model="detail.insuranceType" :value-enum="insuranceTypeText" />
+ </ProFormItemV2>
+ </ProFormColItem>
+ </ProFormCol>
+ <ProFormCol>
+ <ProFormColItem :span="8">
+ <ProFormItemV2 label="淇濋櫓璧锋湡:" prop="applyTime">
+ <ProFormDatePicker v-model.trim="detail.createTime" format="YYYY-MM-DD HH:mm" />
+ </ProFormItemV2>
+ </ProFormColItem>
+ <ProFormColItem :span="8">
+ <ProFormItemV2 label="淇濋櫓姝㈡湡:" prop="insuranceTypeCode">
+ <ProFormDatePicker v-model.trim="detail.createTime" format="YYYY-MM-DD HH:mm" />
+ </ProFormItemV2>
+ </ProFormColItem>
+ <ProFormColItem :span="8">
+ <ProFormItemV2 label="鎶曚繚鏂瑰紡:" prop="insureWay">
+ <ProFormRadio v-model="detail.insuranceType" :value-enum="insuranceTypeText" />
+ </ProFormItemV2>
+ </ProFormColItem>
+ </ProFormCol>
+ <ProFormCol>
+ <ProFormColItem :span="8">
+ <ProFormItemV2 label="鍙備繚鏈烘瀯:" prop="applyTime">
+ <ProFormText v-model.trim="detail.orderNo" />
+ </ProFormItemV2>
+ </ProFormColItem>
+ <ProFormColItem :span="8">
+ <ProFormItemV2 label="鎶曚繚鏂规:" prop="applyTime">
+ <ProFormText v-model.trim="detail.orderNo" />
+ </ProFormItemV2>
+ </ProFormColItem>
+ <ProFormColItem :span="8">
+ <ProFormItemV2 label="鎶曚繚浜烘暟:" prop="numberOfFailed">
+ <ProFormInputNumber v-model.trim="detail.incDecAmount" unit="浜�" />
+ </ProFormItemV2>
+ </ProFormColItem>
+ </ProFormCol>
+ <ProFormCol>
+ <ProFormColItem :span="8">
+ <ProFormItemV2 label="鎶曚繚浜�:" prop="companyName">
+ <ProFormText v-model.trim="detail.orderNo" />
+ </ProFormItemV2>
+ </ProFormColItem>
+ <ProFormColItem :span="8">
+ <ProFormItemV2 label="琚繚浜�:" prop="insuranceTypeCode">
+ <ProFormText v-model.trim="detail.orderNo" />
+ </ProFormItemV2>
+ </ProFormColItem>
+ </ProFormCol>
+ </ProForm>
+ </ChunkCell>
+ <ChunkCell title="浜哄憳淇℃伅">
+ <template #titleRight>
+ <el-button type="primary" @click="handleBatchChange">鎵规敼鐢宠</el-button>
+ </template>
+ <ProTableQueryFilterBar @on-reset="reset">
+ <template #query>
+ <QueryFilterItem>
+ <SearchInput
+ v-model="extraParamState.keyWord"
+ style="width: 300px"
+ placeholder="浜哄憳濮撳悕/韬唤璇佸彿/鎵嬫満鍙�"
+ @on-click-search="getBatchRefundInfoDetail"
+ >
+ </SearchInput>
+ </QueryFilterItem>
+ </template>
+ <template #btn>
+ <el-button @click="handleTemplateDownload()" icon="Download" type="primary"
+ >妯℃澘涓嬭浇</el-button
>
- </SearchInput>
- </QueryFilterItem>
- </template>
- <template #btn>
- <el-button @click="handleTemplateDownload()" icon="Download" type="primary"
- >妯℃澘涓嬭浇</el-button
- >
- <el-button @click="handleImport()" icon="Download" type="primary">瀵煎叆</el-button>
- <el-button @click="handleClear()" icon="Download" type="primary">娓呯┖鏁版嵁</el-button>
- <el-button @click="handleDownloadPerson()" icon="Download" type="primary"
- >浜哄憳娓呭崟涓嬭浇</el-button
- >
- <el-button @click="handleDownloadOrder()" icon="Download" type="primary"
- >淇濆崟涓嬭浇</el-button
- >
- </template>
- </ProTableQueryFilterBar>
- <ProTableV2
- v-bind="proTableProps"
- :columns="column"
- :operationBtns="operationBtns"
- :auto-height="false"
- ref="proTable"
- :tableProps="{
- maxHeight: '400px',
- }"
- >
- </ProTableV2>
- </ChunkCell>
- <ChangePersonInfoDialog v-bind="dialogProps"></ChangePersonInfoDialog>
- </AppScrollContainer>
+ <el-button @click="handleImport()" icon="Download" type="primary">瀵煎叆</el-button>
+ <el-button @click="handleClear()" icon="Download" type="primary">娓呯┖鏁版嵁</el-button>
+ <el-button @click="handleDownloadPerson()" icon="Download" type="primary"
+ >浜哄憳娓呭崟涓嬭浇</el-button
+ >
+ <el-button @click="handleDownloadOrder()" icon="Download" type="primary"
+ >淇濆崟涓嬭浇</el-button
+ >
+ </template>
+ </ProTableQueryFilterBar>
+ <ProTableV2
+ v-bind="proTableProps"
+ :columns="column"
+ :operationBtns="operationBtns"
+ :auto-height="false"
+ ref="proTable"
+ :tableProps="{
+ maxHeight: '400px',
+ }"
+ >
+ </ProTableV2>
+ </ChunkCell>
+ <ChangePersonInfoDialog v-bind="dialogProps"></ChangePersonInfoDialog>
+ </AppScrollContainer>
+ </LoadingLayout>
</template>
<script setup lang="ts">
@@ -126,7 +128,6 @@
useTable,
ProTableV2,
ProFormRadio,
- FieldSelect,
defineOperationBtns,
useFormDialog,
} from '@bole-core/components';
@@ -240,7 +241,7 @@
return await insuranceOrderServices.getInsuranceOrderDetail(
{ id: id },
{
- showLoading: false,
+ showLoading: !state.loading,
}
);
},
@@ -254,7 +255,8 @@
await queryClient.ensureQueryData({
queryKey: ['insuranceOrderServices/getInsuranceOrderDetail', id],
});
- getBatchRefundInfoDetail();
+ await getBatchRefundInfoDetail();
+ state.loading = false;
});
const {
@@ -297,12 +299,12 @@
function handleDownloadPerson() {}
function handleDownloadOrder() {}
function handleBatchChange() {
- router.push({
- name: 'BatchChange',
- params: {
- id: id,
- },
- });
+ // router.push({
+ // name: 'BatchChange',
+ // params: {
+ // id: id,
+ // },
+ // });
}
const { dialogProps, handleEdit, editForm } = useFormDialog({
diff --git a/src/views/Home/components/UploadInsurePersonDialog.vue b/src/views/Home/components/UploadInsurePersonDialog.vue
index ffba7d8..0473413 100644
--- a/src/views/Home/components/UploadInsurePersonDialog.vue
+++ b/src/views/Home/components/UploadInsurePersonDialog.vue
@@ -29,7 +29,13 @@
:limit="1"
:limitFileSize="10"
accept="xlsx,xls"
- ></ProFormUpload>
+ >
+ <template #tip>
+ <div>
+ <el-text type="danger">鏀寔excel鏂囦欢锛岃涓婁紶鍚屾壒娆$殑鎶曚繚浜哄憳娓呭崟</el-text>
+ </div>
+ </template>
+ </ProFormUpload>
</ProFormItemV2>
</ProForm>
<template #footer>
diff --git a/src/views/Home/components/UploadStampFileDialog.vue b/src/views/Home/components/UploadStampFileDialog.vue
index 2b3d93d..8de4354 100644
--- a/src/views/Home/components/UploadStampFileDialog.vue
+++ b/src/views/Home/components/UploadStampFileDialog.vue
@@ -13,7 +13,13 @@
prop="url"
:check-rules="[{ message: '璇蜂笂浼犳枃浠�', type: 'upload' }]"
>
- <ProFormUpload v-model:file-url="innerForm.url" accept="pdf,jpg,jpeg,png"></ProFormUpload>
+ <ProFormUpload v-model:file-url="innerForm.url" accept="pdf,jpg,jpeg,png">
+ <template #tip>
+ <div>
+ <el-text type="danger">鏀寔pdf銆乯pg銆乯epg銆乸ng鍥剧墖</el-text>
+ </div>
+ </template>
+ </ProFormUpload>
</ProFormItemV2>
</ProForm>
<template #footer>
--
Gitblit v1.9.1