From 9dd95cc0cde6664d1cfcb4e14f402981c57c2585 Mon Sep 17 00:00:00 2001
From: zhengyiming <540361168@qq.com>
Date: 星期四, 30 十月 2025 17:58:25 +0800
Subject: [PATCH] fix: s
---
src/services/api/LgGigWorkerCustomerTemplateParam.ts | 9 +
src/services/api/ElectronSign.ts | 63 +++++++
src/services/api/typings.d.ts | 166 ++++++++++++++++++++
src/services/api/LgGigWorker.ts | 15 +
src/services/api/ParkBountyApply.ts | 15 +
src/views/EnterpriseInfo/components/RewardConsumeRecordView.vue | 35 ++++
src/views/Reward/components/ParkBountyTradeDetailFileDialog.vue | 123 +++++++++++++++
7 files changed, 422 insertions(+), 4 deletions(-)
diff --git a/src/services/api/ElectronSign.ts b/src/services/api/ElectronSign.ts
index db7da6f..9f88cd0 100644
--- a/src/services/api/ElectronSign.ts
+++ b/src/services/api/ElectronSign.ts
@@ -14,6 +14,36 @@
});
}
+/** 鎵归噺绛剧害 POST /api/ElectronSign/BatchSignContract */
+export async function batchSignContract(
+ body: API.BatchSignContractInput,
+ options?: API.RequestConfig
+) {
+ return request<API.BatchSignContractOutput>('/api/ElectronSign/BatchSignContract', {
+ method: 'POST',
+ headers: {
+ 'Content-Type': 'application/json',
+ },
+ data: body,
+ ...(options || {}),
+ });
+}
+
+/** 鎵归噺鏇存柊鍚堝悓鍙傛暟鐘舵�� POST /api/ElectronSign/BatchUpdateContractParamterStatus */
+export async function batchUpdateContractParamterStatus(
+ body: API.BatchUpdateContractParamterStatusInput,
+ options?: API.RequestConfig
+) {
+ return request<number>('/api/ElectronSign/BatchUpdateContractParamterStatus', {
+ method: 'POST',
+ headers: {
+ 'Content-Type': 'application/json',
+ },
+ data: body,
+ ...(options || {}),
+ });
+}
+
/** 鍒涘缓鎴栨洿鏂版ā鏉� POST /api/ElectronSign/CreateOrUpdateContractTemplate */
export async function createOrUpdateContractTemplate(
body: API.CreateOrUpdateContractTemplateInput,
@@ -95,6 +125,24 @@
data: body,
...(options || {}),
});
+}
+
+/** 鑾峰彇鍚堝悓鍙傛暟鍒楄〃 POST /api/ElectronSign/GetContractParamterList */
+export async function getContractParamterList(
+ body: API.GetContractParamterListInput,
+ options?: API.RequestConfig
+) {
+ return request<API.GetContractParamterListItemPageOutput>(
+ '/api/ElectronSign/GetContractParamterList',
+ {
+ method: 'POST',
+ headers: {
+ 'Content-Type': 'application/json',
+ },
+ data: body,
+ ...(options || {}),
+ }
+ );
}
/** 鑾峰彇鍚堝悓妯℃澘鍒楄〃 POST /api/ElectronSign/GetContractTemplateList */
@@ -217,6 +265,21 @@
});
}
+/** 淇濆瓨鍚堝悓鍙傛暟 POST /api/ElectronSign/SaveContractParamter */
+export async function saveContractParamter(
+ body: API.SaveContractTemplateParamterInput,
+ options?: API.RequestConfig
+) {
+ return request<string>('/api/ElectronSign/SaveContractParamter', {
+ method: 'POST',
+ headers: {
+ 'Content-Type': 'application/json',
+ },
+ data: body,
+ ...(options || {}),
+ });
+}
+
/** 鍙戣捣绛剧害 POST /api/ElectronSign/SendContract */
export async function sendContract(body: API.SendContractInput, options?: API.RequestConfig) {
return request<API.SendContractOutput>('/api/ElectronSign/SendContract', {
diff --git a/src/services/api/LgGigWorker.ts b/src/services/api/LgGigWorker.ts
index 4abe72c..df2e5f6 100644
--- a/src/services/api/LgGigWorker.ts
+++ b/src/services/api/LgGigWorker.ts
@@ -515,6 +515,21 @@
});
}
+/** 鏇存柊鍚堝悓妯℃澘鑷畾涔夊唴瀹瑰�� POST /api/LgGigWorker/UpdateCustomerContractTemplateCustomContentValue */
+export async function updateCustomerContractTemplateCustomContentValue(
+ body: API.UpdateCustomerContractTemplateCustomContentValueInput,
+ options?: API.RequestConfig
+) {
+ return request<any>('/api/LgGigWorker/UpdateCustomerContractTemplateCustomContentValue', {
+ method: 'POST',
+ headers: {
+ 'Content-Type': 'application/json',
+ },
+ data: body,
+ ...(options || {}),
+ });
+}
+
/** 鏇存柊浜哄憳淇℃伅 POST /api/LgGigWorker/UpdateLgGigWorkerUserInfo */
export async function updateLgGigWorkerUserInfo(
body: API.UpdateLgGigWorkerUserInfoInput,
diff --git a/src/services/api/LgGigWorkerCustomerTemplateParam.ts b/src/services/api/LgGigWorkerCustomerTemplateParam.ts
index 6241c06..f88ad6a 100644
--- a/src/services/api/LgGigWorkerCustomerTemplateParam.ts
+++ b/src/services/api/LgGigWorkerCustomerTemplateParam.ts
@@ -21,11 +21,18 @@
}
/** 鑾峰彇鎵�鏈夌郴缁� 妯℃澘鏁版嵁鍙傛暟瀛楀吀 POST /api/LgGigWorkerCustomerTemplateParam/GetAllSystemTemplateDataParamSettingList */
-export async function getAllSystemTemplateDataParamSettingList(options?: API.RequestConfig) {
+export async function getAllSystemTemplateDataParamSettingList(
+ // 鍙犲姞鐢熸垚鐨凱aram绫诲瀷 (闈瀊ody鍙傛暟swagger榛樿娌℃湁鐢熸垚瀵硅薄)
+ params: API.APIgetAllSystemTemplateDataParamSettingListParams,
+ options?: API.RequestConfig
+) {
return request<API.SystemTemplateDataParamSettingOutput[]>(
'/api/LgGigWorkerCustomerTemplateParam/GetAllSystemTemplateDataParamSettingList',
{
method: 'POST',
+ params: {
+ ...params,
+ },
...(options || {}),
}
);
diff --git a/src/services/api/ParkBountyApply.ts b/src/services/api/ParkBountyApply.ts
index 6ea1239..8a815b0 100644
--- a/src/services/api/ParkBountyApply.ts
+++ b/src/services/api/ParkBountyApply.ts
@@ -1182,6 +1182,21 @@
);
}
+/** 鍚屾鏇存柊娑堣垂璁板綍閲岀殑淇濆崟鏂囦欢 POST /api/ParkBountyApply/SyncUpdateParkBountyApplyTradeInsuranceBillFile */
+export async function syncUpdateParkBountyApplyTradeInsuranceBillFile(
+ body: API.UpdateParkBountyApplyTradeInsuranceBillFile,
+ options?: API.RequestConfig
+) {
+ return request<number>('/api/ParkBountyApply/SyncUpdateParkBountyApplyTradeInsuranceBillFile', {
+ method: 'POST',
+ headers: {
+ 'Content-Type': 'application/json',
+ },
+ data: body,
+ ...(options || {}),
+ });
+}
+
/** 涓婁紶浼佷笟琛ュ厖鏉愭枡 POST /api/ParkBountyApply/UploadParkBountyApplyCompanyExtraFile */
export async function uploadParkBountyApplyCompanyExtraFile(
body: API.UploadParkApplyCustomerFilesInput,
diff --git a/src/services/api/typings.d.ts b/src/services/api/typings.d.ts
index 7e5461e..267af50 100644
--- a/src/services/api/typings.d.ts
+++ b/src/services/api/typings.d.ts
@@ -510,6 +510,12 @@
signChannel?: SignChannelEnum;
/** 妯℃澘缂栬緫鏁版嵁 */
templateEditData?: string;
+ /** 鏄惁鑷姩绛� */
+ isAutoSign?: boolean;
+ /** 鑷姩绛炬巿鏉冧功 */
+ autoSignPowerAttorneyUrl?: string;
+ /** 鑷畾涔夊唴瀹� */
+ customContentIds?: string[];
}
interface AddUpdateCustomerInput {
@@ -1286,6 +1292,13 @@
interface APIgetAllSubModuleParams {
moduleId?: string;
+ }
+
+ interface APIgetAllSystemTemplateDataParamSettingListParams {
+ /** 鏄惁榛樿 */
+ isDefault?: boolean;
+ /** 妯℃澘Id */
+ lgGigWorkerCustomerTemplateId?: string;
}
interface APIgetBatchBillStaffListParams {
@@ -2812,6 +2825,32 @@
userIds?: string[];
/** 鏈嶅姟浜哄憳Id */
serviceStaffId?: string;
+ }
+
+ interface BatchSignContractInput {
+ /** 瀵瑰鐢ㄦ埛Id */
+ outUserId?: string;
+ /** 瀵瑰鍚堝悓Id */
+ outContractIds?: string[];
+ }
+
+ interface BatchSignContractOutput {
+ /** 鎴愬姛鍚堝悓Id */
+ successIds?: string[];
+ errors?: BatchSignContractOutputError[];
+ }
+
+ interface BatchSignContractOutputError {
+ /** 瀵瑰鍚堝悓Id */
+ outContractId?: string;
+ /** 閿欒娑堟伅 */
+ errorMessages?: string;
+ }
+
+ interface BatchUpdateContractParamterStatusInput {
+ /** 鍙傛暟Id */
+ ids?: string[];
+ status?: EnumElectronSignContractParameterStatus;
}
interface BestSignDownloadImageDataResponse {
@@ -4984,6 +5023,10 @@
name: string;
/** 妯℃澘缂栧彿 */
templateCode: string;
+ /** 鏄惁鑷姩绛� */
+ isAutoSign?: boolean;
+ /** 鑷姩绛炬巿鏉冧功 */
+ autoSignPowerAttorneyUrl?: string;
/** 妯℃澘鍙橀噺 */
values: CreateOrUpdateContractTemplateValueInput[];
}
@@ -4998,6 +5041,12 @@
name?: string;
/** 鏄惁蹇呭~ */
required?: boolean;
+ /** 鍧愭爣X */
+ x?: number;
+ /** 鍧愭爣Y */
+ y?: number;
+ /** 椤电爜 */
+ page?: number;
}
interface CreateOrUpdateCooperationApplyInput {
@@ -5196,6 +5245,9 @@
incomeBankName?: string;
enterpriseId?: string;
selfAuditStatus?: EnumParkBountyTradeDetailAuditStatus;
+ auditType?: EnumParkBountyTradeDetailAuditType;
+ /** 姹熺淇濊嚜涓诲嚭璐﹀叧鑱斾繚鍗昳d */
+ insurancePolicyId?: string;
}
interface CreateParkOrHRAdvertiseInput {
@@ -6227,6 +6279,8 @@
configuration?: Record<string, any>;
}
+ type EnumElectronSignContractParameterStatus = 10 | 20;
+
type EnumElectronSignContractStatus = 1 | 2 | 3 | 4 | 5 | 9 | 99;
type EnumElectronSignContractSupplier = 10 | 20;
@@ -6248,6 +6302,8 @@
type EnumPagedListOrder = 0 | 1;
type EnumParkBountyTradeDetailAuditStatus = 10 | 20 | 30;
+
+ type EnumParkBountyTradeDetailAuditType = 10 | 100;
type EnumParkRewardStatisticsDetailScene = 1 | 2 | 3 | 4 | 5;
@@ -7171,6 +7227,35 @@
completedEndDate?: string;
}
+ interface GetContractParamterListInput {
+ pageModel?: Pagination;
+ /** 鍏抽敭瀛� */
+ keywords?: string;
+ status?: EnumElectronSignContractParameterStatus;
+ }
+
+ interface GetContractParamterListItem {
+ /** 鍙傛暟Id */
+ id?: string;
+ /** 鏁版嵁鍙傛暟鍚嶇О */
+ dataParamName?: string;
+ /** 鏁版嵁鍙傛暟瀛楁鍚嶇О */
+ dataParamNameFieldName?: string;
+ /** 鏁版嵁鍙傛暟榛樿鍊� */
+ dataParamDefaultValue?: string;
+ /** 鏄惁 涓嶆槸鏁板�煎弬鏁帮紝鍗虫棤闇�鍊� */
+ isNotValueParam?: boolean;
+ /** 鏄惁榛樿 */
+ isDefault?: boolean;
+ status?: EnumElectronSignContractParameterStatus;
+ }
+
+ interface GetContractParamterListItemPageOutput {
+ pageModel?: Pagination;
+ objectData?: any;
+ data?: GetContractParamterListItem[];
+ }
+
interface GetContractTemplateDto {
/** Id */
id?: string;
@@ -7183,6 +7268,10 @@
name?: string;
/** 妯℃澘缂栧彿 */
templateCode?: string;
+ /** 鏄惁鑷姩绛� */
+ isAutoSign?: boolean;
+ /** 鑷姩绛炬巿鏉冧功 */
+ autoSignPowerAttorneyUrl?: string;
/** 妯℃澘鍙橀噺 */
values?: GetContractTemplateValueDto[];
}
@@ -7211,6 +7300,12 @@
name?: string;
/** 鏄惁蹇呭~ */
required?: boolean;
+ /** 鍧愭爣X */
+ x?: number;
+ /** 鍧愭爣Y */
+ y?: number;
+ /** 椤电爜 */
+ page?: number;
}
interface GetCooperationApplyInput {
@@ -7402,6 +7497,23 @@
creatorId?: string;
/** 鏄惁鍙互缂栬緫鍚嶇О */
isCanEditName?: boolean;
+ /** 鏄惁鑷姩绛� */
+ isAutoSign?: boolean;
+ /** 鑷姩绛炬巿鏉冧功锛堥�夋嫨鑷姩绛炬椂鏄剧ず锛� */
+ autoSignPowerAttorneyUrl?: string;
+ /** 鑷畾涔夊唴瀹� */
+ customContents?: GetCustomerTemplateDetailOutputCustomContent[];
+ }
+
+ interface GetCustomerTemplateDetailOutputCustomContent {
+ /** 妯℃澘Id */
+ templateId?: string;
+ /** Id */
+ id?: string;
+ /** 鏁版嵁鍙傛暟鍚嶇О */
+ dataParamName?: string;
+ /** 鍊� */
+ value?: string;
}
interface GetCustomerTemplateListOutput {
@@ -7419,6 +7531,10 @@
platedTime?: string;
/** 鎿嶄綔浜� */
operator?: string;
+ /** 鏄惁鑷姩绛� */
+ isAutoSign?: boolean;
+ /** 鑷畾涔夊唴瀹� */
+ customContents?: GetCustomerTemplateDetailOutputCustomContent[];
}
interface GetCustomerUploadApplyFilesByTypeInput {
@@ -9186,6 +9302,8 @@
selfAuditOperator?: string;
/** 浼佷笟鑷韩鎿嶄綔浜篒d */
selfAuditOperatorId?: string;
+ /** 姹熺淇濅笂浼犵殑淇濆崟鏂囦欢 */
+ insureBillUrl?: string;
}
interface GetParkBountyTradeDetailOutputPageOutput {
@@ -9286,6 +9404,10 @@
financeType?: FinanceTypeEnum;
/** 杩涜处鍗曚綅 */
incomeCompanyName?: string;
+ /** 浼佷笟鑷韩瀹℃牳鍑瘉 */
+ selfAuditFileUrl?: string;
+ /** 姹熺淇濅笂浼犵殑淇濆崟鏂囦欢 */
+ insureBillUrl?: string;
}
interface GetParkCustomerBountyConsumptionOutputPageOutput {
@@ -14251,6 +14373,8 @@
compayId?: string;
/** 闇�瑕佺绾︾殑鐢ㄦ埛绛剧害id */
listLgWorkerSignId?: string[];
+ /** 鏉ヨ嚜鑷姩绛� */
+ fromAutoSign?: boolean;
}
interface LgGigWorkerBussinessAutoSignOutput {
@@ -18031,6 +18155,8 @@
userInfoEmailAddress?: string;
/** 娉ㄥ唽鏃ユ湡 */
registDate?: string;
+ /** 浜т笟鍥尯id */
+ industrialParkId?: string;
}
interface PriceInfo {
@@ -20185,6 +20311,20 @@
receiptName?: string;
}
+ interface SaveContractTemplateParamterInput {
+ /** 鍙傛暟Id */
+ id?: string;
+ /** 鏁版嵁鍙傛暟鍚嶇О */
+ dataParamName?: string;
+ /** 鏁版嵁鍙傛暟瀛楁鍚嶇О */
+ dataParamNameFieldName?: string;
+ /** 鏁版嵁鍙傛暟榛樿鍊� */
+ dataParamDefaultValue?: string;
+ /** 鏄惁 涓嶆槸鏁板�煎弬鏁帮紝鍗虫棤闇�鍊� */
+ isNotValueParam?: boolean;
+ status?: EnumElectronSignContractParameterStatus;
+ }
+
interface SaveCustomerTemplateParamInput {
/** 妯℃澘id */
lgGigWorkerCustomerTemplateId?: string;
@@ -21628,6 +21768,9 @@
selfAuditFileUrl?: string;
/** 濂栧姳閲戜綑棰� */
bountyAmount?: number;
+ auditType?: EnumParkBountyTradeDetailAuditType;
+ /** 姹熺淇濊嚜涓诲嚭璐﹀叧鑱斾繚鍗昳d */
+ insurancePolicyId?: string;
}
interface SysOrgDetailOutput {
@@ -22216,6 +22359,20 @@
id?: string;
}
+ interface UpdateCustomerContractTemplateCustomContentValueInput {
+ /** 鍚堝悓妯℃澘Id */
+ templateId?: string;
+ /** 鑷畾涔夊唴瀹� */
+ customContents?: UpdateCustomerContractTemplateCustomContentValueInputItem[];
+ }
+
+ interface UpdateCustomerContractTemplateCustomContentValueInputItem {
+ /** Id */
+ id?: string;
+ /** 鍊� */
+ value?: string;
+ }
+
interface UpdateEnterpriseMaterialInput {
/** 骞� */
year?: number;
@@ -22648,6 +22805,13 @@
id?: string;
}
+ interface UpdateParkBountyApplyTradeInsuranceBillFile {
+ /** 姹熺淇濊嚜涓诲嚭璐﹀叧鑱斾繚鍗昳d */
+ insurancePolicyId?: string;
+ /** 姹熺淇濅笂浼犵殑淇濆崟鏂囦欢 */
+ insureBillUrl?: string;
+ }
+
interface UpdatePassWordInput {
id?: string;
passWord?: string;
@@ -22925,6 +23089,8 @@
enterpriseName?: string;
/** 濮撳悕 */
contacter?: string;
+ /** 浜т笟鍥尯id */
+ industrialParkId?: string;
}
interface UpdateUserOrderContactStatusInput {
diff --git a/src/views/EnterpriseInfo/components/RewardConsumeRecordView.vue b/src/views/EnterpriseInfo/components/RewardConsumeRecordView.vue
index 3b093dd..fb4195a 100644
--- a/src/views/EnterpriseInfo/components/RewardConsumeRecordView.vue
+++ b/src/views/EnterpriseInfo/components/RewardConsumeRecordView.vue
@@ -3,13 +3,14 @@
<AppContainer>
<ProTableV2 v-bind="proTableProps" :columns="column" :operationBtns="operationBtns">
<template #operationBtn-checkBtn="{ data, row }">
- <PreviewBtnV2
+ <!-- <PreviewBtnV2
class="pro-table-operation-btn"
:url="convertApi2FormUrlBySeparator(row.payFileUrl ?? '')"
preview-btn-text="鏌ョ湅鍑瘉"
- />
+ /> -->
</template>
</ProTableV2>
+ <ParkBountyTradeDetailFileDialog v-bind="dialogProps" />
</AppContainer>
</LoadingLayout>
</template>
@@ -21,11 +22,18 @@
ProTableV2,
defineOperationBtns,
PreviewBtnV2,
+ useFormDialog,
+ UploadUserFile,
} from '@bole-core/components';
-import { convertApi2FormUrlBySeparator } from '@/utils';
+import {
+ convertApi2FormUrlBySeparator,
+ convertApi2FormUrlObjectBySeparator,
+ convertApi2FormUrlOnlyOne,
+} from '@/utils';
import { OrderInputType } from '@bole-core/core';
import * as parkRewardServices from '@/services/api/ParkReward';
import { EnterpriseBountyPayTypeEnumText } from '@/constants';
+import ParkBountyTradeDetailFileDialog from '../../Reward/components/ParkBountyTradeDetailFileDialog.vue';
defineOptions({
name: 'RewardConsumeRecordView',
@@ -60,6 +68,7 @@
enCode: 'checkBtn',
name: '鏌ョ湅鍑瘉',
},
+ emits: { onClick: (role) => openDialog(role) },
},
]);
@@ -111,6 +120,26 @@
await getList();
state.loading = false;
});
+
+function openDialog(row: API.GetParkCustomerBountyConsumptionOutput) {
+ handleAdd({
+ payAuditFileUrl: convertApi2FormUrlObjectBySeparator(row.payAuditFileUrl),
+ financeAuditFileUrl: convertApi2FormUrlObjectBySeparator(row.financeAuditFileUrl),
+ selfAuditFileUrl: convertApi2FormUrlObjectBySeparator(row.selfAuditFileUrl),
+ payFileUrl: convertApi2FormUrlObjectBySeparator(row.payFileUrl),
+ insureBillUrl: convertApi2FormUrlObjectBySeparator(row.insureBillUrl),
+ });
+}
+
+const { dialogProps, handleAdd } = useFormDialog({
+ defaultFormParams: {
+ payAuditFileUrl: [] as UploadUserFile[],
+ financeAuditFileUrl: [] as UploadUserFile[],
+ selfAuditFileUrl: [] as UploadUserFile[],
+ payFileUrl: [] as UploadUserFile[],
+ insureBillUrl: [] as UploadUserFile[],
+ },
+});
</script>
<style lang="scss" scoped>
diff --git a/src/views/Reward/components/ParkBountyTradeDetailFileDialog.vue b/src/views/Reward/components/ParkBountyTradeDetailFileDialog.vue
new file mode 100644
index 0000000..d6ba211
--- /dev/null
+++ b/src/views/Reward/components/ParkBountyTradeDetailFileDialog.vue
@@ -0,0 +1,123 @@
+<template>
+ <ProDialog title="鏂囦欢鍒楄〃" v-model="visible" @close="onDialogClose" destroy-on-close draggable>
+ <ProForm :model="form" ref="dialogForm" label-width="110px" is-read class="audit-file-form">
+ <ProFormItemV2
+ label="骞冲彴瀹℃壒鍑瘉:"
+ prop="selfAuditFileUrl"
+ v-if="form?.selfAuditFileUrl?.length > 0"
+ >
+ <ProFormUpload
+ v-model:file-url="form.selfAuditFileUrl"
+ :limitFileSize="50"
+ accept="doc,docx,pdf,xls,xlsx,jpg/jpeg,png"
+ ></ProFormUpload>
+ </ProFormItemV2>
+ <ProFormItemV2
+ label="鍑鸿处瀹℃壒鍑瘉:"
+ prop="payAuditFileUrl"
+ v-if="form?.payAuditFileUrl?.length > 0"
+ >
+ <ProFormUpload
+ v-model:file-url="form.payAuditFileUrl"
+ :limitFileSize="50"
+ accept="doc,docx,pdf,xls,xlsx,jpg/jpeg,png"
+ ></ProFormUpload>
+ </ProFormItemV2>
+ <ProFormItemV2
+ label="璐㈡斂瀹℃壒鍑瘉:"
+ prop="financeAuditFileUrl"
+ v-if="form?.financeAuditFileUrl?.length > 0"
+ >
+ <ProFormUpload
+ v-model:file-url="form.financeAuditFileUrl"
+ :limitFileSize="50"
+ accept="doc,docx,pdf,xls,xlsx,jpg/jpeg,png"
+ ></ProFormUpload>
+ </ProFormItemV2>
+ <ProFormItemV2 label="鍑鸿处鍑瘉:" prop="payFileUrl" v-if="form?.payFileUrl?.length > 0">
+ <ProFormUpload
+ v-model:file-url="form.payFileUrl"
+ :limitFileSize="50"
+ accept="doc,docx,pdf,xls,xlsx,jpg/jpeg,png"
+ ></ProFormUpload>
+ </ProFormItemV2>
+ <ProFormItemV2 label="淇濆崟鏂囦欢:" prop="insureBillUrl" v-if="form?.insureBillUrl?.length > 0">
+ <ProFormUpload
+ v-model:file-url="form.insureBillUrl"
+ :limitFileSize="50"
+ accept="doc,docx,pdf,xls,xlsx,jpg/jpeg,png"
+ ></ProFormUpload>
+ </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,
+ ProFormText,
+ UploadUserFile,
+ ProFormUpload,
+} from '@bole-core/components';
+
+defineOptions({
+ name: 'ParkBountyTradeDetailFileDialog',
+});
+
+// type Props = {};
+
+// const props = withDefaults(defineProps<Props>(), {});
+
+const visible = defineModel({ type: Boolean });
+
+type Form = {
+ title?: string;
+ payAuditFileUrl: UploadUserFile[];
+ financeAuditFileUrl: UploadUserFile[];
+ selfAuditFileUrl: UploadUserFile[];
+ payFileUrl: UploadUserFile[];
+ insureBillUrl: UploadUserFile[];
+};
+
+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>
+
+<style lang="scss" scoped>
+.audit-file-form {
+ .el-form-item {
+ margin-bottom: 22px;
+ }
+}
+</style>
--
Gitblit v1.9.1