| src/services/api/ElectronSign.ts | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| src/services/api/LgGigWorker.ts | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| src/services/api/LgGigWorkerCustomerTemplateParam.ts | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| src/services/api/ParkBountyApply.ts | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| src/services/api/typings.d.ts | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| src/views/EnterpriseInfo/components/RewardConsumeRecordView.vue | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| src/views/Reward/components/ParkBountyTradeDetailFileDialog.vue | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 |
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, @@ -97,6 +127,24 @@ }); } /** è·ååååæ°å表 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 */ export async function getContractTemplateList( body: API.GetContractTemplateInput, @@ -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', { 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, src/services/api/LgGigWorkerCustomerTemplateParam.ts
@@ -21,11 +21,18 @@ } /** è·åææç³»ç» æ¨¡æ¿æ°æ®åæ°åå ¸ POST /api/LgGigWorkerCustomerTemplateParam/GetAllSystemTemplateDataParamSettingList */ export async function getAllSystemTemplateDataParamSettingList(options?: API.RequestConfig) { export async function getAllSystemTemplateDataParamSettingList( // å å çæçParamç±»å (ébodyåæ°swaggeré»è®¤æ²¡æçæå¯¹è±¡) params: API.APIgetAllSystemTemplateDataParamSettingListParams, options?: API.RequestConfig ) { return request<API.SystemTemplateDataParamSettingOutput[]>( '/api/LgGigWorkerCustomerTemplateParam/GetAllSystemTemplateDataParamSettingList', { method: 'POST', params: { ...params, }, ...(options || {}), } ); 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, src/services/api/typings.d.ts
@@ -510,6 +510,12 @@ signChannel?: SignChannelEnum; /** 模æ¿ç¼è¾æ°æ® */ templateEditData?: string; /** æ¯å¦èªå¨ç¾ */ isAutoSign?: boolean; /** èªå¨ç¾ææä¹¦ */ autoSignPowerAttorneyUrl?: string; /** èªå®ä¹å 容 */ customContentIds?: string[]; } interface AddUpdateCustomerInput { @@ -1288,6 +1294,13 @@ moduleId?: string; } interface APIgetAllSystemTemplateDataParamSettingListParams { /** æ¯å¦é»è®¤ */ isDefault?: boolean; /** 模æ¿Id */ lgGigWorkerCustomerTemplateId?: string; } interface APIgetBatchBillStaffListParams { insurancePolicyId?: string; batchBillId?: string; @@ -2814,6 +2827,32 @@ 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 { /** å¾çæä»¶æµ */ data?: any[]; @@ -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; /** æ±ç¥ä¿èªä¸»åºè´¦å ³èä¿åid */ 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; @@ -6249,6 +6303,8 @@ type EnumParkBountyTradeDetailAuditStatus = 10 | 20 | 30; type EnumParkBountyTradeDetailAuditType = 10 | 100; type EnumParkRewardStatisticsDetailScene = 1 | 2 | 3 | 4 | 5; type EnumSmsAccess = 0 | 10 | 20; @@ -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; /** ä¼ä¸èªèº«æä½äººId */ 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; /** æ±ç¥ä¿èªä¸»åºè´¦å ³èä¿åid */ 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 { /** æ±ç¥ä¿èªä¸»åºè´¦å ³èä¿åid */ insurancePolicyId?: string; /** æ±ç¥ä¿ä¸ä¼ çä¿åæä»¶ */ insureBillUrl?: string; } interface UpdatePassWordInput { id?: string; passWord?: string; @@ -22925,6 +23089,8 @@ enterpriseName?: string; /** å§å */ contacter?: string; /** 产ä¸ååºid */ industrialParkId?: string; } interface UpdateUserOrderContactStatusInput { 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> 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>