From d5dae013d54e1e74390669a88241f6b8d4c1ec18 Mon Sep 17 00:00:00 2001 From: zhengyiming <540361168@qq.com> Date: 星期四, 21 八月 2025 10:32:52 +0800 Subject: [PATCH] fix: 签约 --- src/views/ProtocolManage/EditTemplate.vue | 142 ++++++++++++++++++++++++++++++++++++---------- 1 files changed, 110 insertions(+), 32 deletions(-) diff --git a/src/views/ProtocolManage/EditTemplate.vue b/src/views/ProtocolManage/EditTemplate.vue index 1faf700..257d4a3 100644 --- a/src/views/ProtocolManage/EditTemplate.vue +++ b/src/views/ProtocolManage/EditTemplate.vue @@ -6,10 +6,7 @@ <QueryFilterItem> <FieldRadio v-model="extraParamState.status" - :value-enum="[ - { value: 1, label: '寰呭埗鐗�' }, - { value: 2, label: '宸插畬鎴�' }, - ]" + :value-enum="EnumContractTemplateStatusText" buttonStyle showAllBtn @change="getList()" @@ -17,7 +14,7 @@ </QueryFilterItem> <QueryFilterItem tip-content="瀹㈡埛涓婁紶鏃堕棿"> <FieldDatePicker - v-model="extraParamState.beginDate" + v-model="extraParamState.createdTime" type="daterange" range-separator="~" start-placeholder="寮�濮嬫棩鏈�" @@ -28,7 +25,7 @@ </QueryFilterItem> <QueryFilterItem tip-content="鍒剁増鏃堕棿"> <FieldDatePicker - v-model="extraParamState.beginDate" + v-model="extraParamState.completedTime" type="daterange" range-separator="~" start-placeholder="寮�濮嬫棩鏈�" @@ -55,6 +52,7 @@ </ProTableV2> </AppContainer> <AddOrEditTemplateDialog v-bind="dialogProps" /> + <OperateHistoryLogDialog v-bind="logDialogProps" /> </LoadingLayout> </template> @@ -75,9 +73,11 @@ } from '@bole-core/components'; import { useAccess } from '@/hooks'; import { ModelValueType } from 'element-plus'; -import * as enterpriseServices from '@/services/api/enterprise'; +import * as electronSignServices from '@/services/api/electronSign'; import AddOrEditTemplateDialog from './components/AddOrEditTemplateDialog.vue'; -import { Message } from '@bole-core/core'; +import { downloadFileByUrl, Message } from '@bole-core/core'; +import { convertApi2FormUrlOnlyOne, format, setOSSLink } from '@/utils'; +import { EnumContractTemplateStatus, EnumContractTemplateStatusText } from '@/constants'; defineOptions({ name: 'EditTemplate', @@ -96,13 +96,14 @@ }, delBtn: { emits: { onClick: (role) => handleDelete(role) }, + props: { type: 'danger' }, extraProps: { hide: (row) => false, }, }, logBtn: { - emits: { onClick: (role) => openLogDialog(role) }, + emits: { onClick: (role) => openLogDialog(role.id) }, }, }; @@ -110,7 +111,8 @@ operationBtnMap, }); -const router = useRouter(); +const route = useRoute(); +const enterpriseId = route.params?.id as string; const BaseState = { loading: true, }; @@ -131,15 +133,21 @@ } = useTable( async ({ pageIndex, pageSize }, extraParamState) => { try { - let params: API.GetEnterprisesQuery = { + let params: API.GetEnterpriseContractTemplatesQuery = { pageModel: { rows: pageSize, page: pageIndex, orderInput: extraParamState.orderInput, }, - // searchKeys: extraParamState.keyword, + keywords: extraParamState.keyword, + status: extraParamState.status, + createdTimeBegin: format(extraParamState.createdTime?.[0] ?? '', 'YYYY-MM-DD 00:00:00'), + createdTimeEnd: format(extraParamState.createdTime?.[1] ?? '', 'YYYY-MM-DD 23:59:59'), + completedTimeBegin: format(extraParamState.completedTime?.[0] ?? '', 'YYYY-MM-DD 00:00:00'), + completedTimeEnd: format(extraParamState.completedTime?.[1] ?? '', 'YYYY-MM-DD 23:59:59'), + enterpriseId: enterpriseId, }; - let res = await enterpriseServices.getEnterprises(params, { + let res = await electronSignServices.getEnterpriseContractTemplates(params, { showLoading: !state.loading, }); return res; @@ -148,12 +156,22 @@ { defaultExtraParams: { keyword: '', - status: '' as any as boolean, - beginDate: [] as unknown as ModelValueType, - endDate: [] as unknown as ModelValueType, - orderInput: [{ property: 'id', order: EnumPagedListOrder.Asc }], + status: '' as any as EnumContractTemplateStatus, + createdTime: [] as unknown as ModelValueType, + completedTime: [] as unknown as ModelValueType, + orderInput: [{ property: 'createdTime', order: EnumPagedListOrder.Desc }], }, - columnsRenderProps: {}, + columnsRenderProps: { + createdTime: { type: 'date' }, + completedTime: { type: 'date' }, + status: { type: 'enum', valueEnum: EnumContractTemplateStatusText }, + access: { type: 'enum', valueEnum: EnumElectronSignAccessText }, + file: { + type: 'url', + showDownloadBtn: false, + formatter: (row: API.GetEnterpriseContractTemplatesQueryResultItem) => setOSSLink(row.file), + }, + }, } ); @@ -163,34 +181,94 @@ id: '', templateId: '', name: '', - bussinessCode: '', - templateFileUrl: [] as UploadUserFile[], + code: '', + file: [] as UploadUserFile[], + access: '' as any as EnumElectronSignAccess, title: '鏂板妯℃澘', }, }); -function openDialog(row?) { +function openDialog(row?: API.GetEnterpriseContractTemplatesQueryResultItem) { if (row) { handleEdit({ - id: '', - name: '', - bussinessCode: '', - templateId: '', - templateFileUrl: [] as UploadUserFile[], + id: row.id, + templateId: row.templateId, + name: row.name, + code: row.code, + file: convertApi2FormUrlOnlyOne(row.file), + access: row.access, }); } else { handleAdd(); } } -async function handleAddOrEdit() {} - -function handleDownload(row) {} -async function handleDelete(row) { +async function handleAddOrEdit() { try { - await Message.deleteMessage(); + let isEdit = !!editForm.id; + let params: API.SaveContractTemplateCommand = { + name: editForm.name, + file: editForm.file[0]?.path ?? '', + enterpriseId: enterpriseId, + code: editForm.code, + access: editForm.access, + templateId: editForm.templateId, + // values: [ + // { + // id: '3fa85f64-5717-4562-b3fc-2c963f66afa6', + // type: 10, + // recorder: 10, + // userType: 10, + // label: 'string', + // name: 'string', + // required: true, + // }, + // ], + }; + if (isEdit) { + params.id = editForm.id; + } + let res = await electronSignServices.saveContractTemplate(params); + if (res) { + Message.successMessage('鎿嶄綔鎴愬姛'); + getList(); + } } catch (error) {} } -function openLogDialog(row) {} +function handleDownload(row: API.GetEnterpriseContractTemplatesQueryResultItem) { + downloadFileByUrl(setOSSLink(row.file), '妯℃澘'); +} +async function handleDelete(row: API.GetEnterpriseContractTemplatesQueryResultItem) { + try { + await Message.deleteMessage(); + let res = await electronSignServices.setIsDisabledContractTemplate({ + ids: [row.id], + isDisabled: true, + }); + if (res) { + Message.successMessage('鎿嶄綔鎴愬姛'); + getList(paginationState.pageIndex); + } + } catch (error) {} +} + +const { openLogDialog, logDialogProps } = useOpenLogDialog({ + service: async ({ pageIndex, pageSize }, extraParamState) => { + try { + let params: API.GetEnterpriseContractTemplateLogsQuery = { + pageModel: { + rows: pageSize, + page: pageIndex, + orderInput: extraParamState.orderInput, + }, + id: extraParamState.id, + }; + let res = await electronSignServices.getEnterpriseContractTemplateLogs(params, { + showLoading: !state.loading, + }); + return res; + } catch (error) {} + }, +}); </script> -- Gitblit v1.9.1