From cbcc6a8eecfc19e93da08500dcc898efdabf7836 Mon Sep 17 00:00:00 2001
From: zhengyiming <540361168@qq.com>
Date: 星期三, 22 十月 2025 18:38:45 +0800
Subject: [PATCH] fix: s
---
src/views/AgreementManage/AgreementManageList.vue | 119 ++++++++++++++++++++++++++++++++++++++++++++++++-----------
1 files changed, 96 insertions(+), 23 deletions(-)
diff --git a/src/views/AgreementManage/AgreementManageList.vue b/src/views/AgreementManage/AgreementManageList.vue
index c812998..47429dc 100644
--- a/src/views/AgreementManage/AgreementManageList.vue
+++ b/src/views/AgreementManage/AgreementManageList.vue
@@ -6,10 +6,7 @@
<QueryFilterItem tip-content="鍒剁増鐘舵��">
<FieldRadio
v-model="extraParamState.status"
- :value-enum="[
- { label: '宸插畬鎴�', value: 1 },
- { label: '寰呭埗鐗�', value: 0 },
- ]"
+ :value-enum="EnumContractTemplateStatusText"
buttonStyle
showAllBtn
@change="getList()"
@@ -17,7 +14,7 @@
</QueryFilterItem>
<QueryFilterItem>
<FieldDatePicker
- v-model="extraParamState.time"
+ v-model="extraParamState.createdTime"
type="daterange"
range-separator="~"
start-placeholder="璧峰鏃堕棿"
@@ -47,9 +44,20 @@
:columns="AgreementbManageColumns"
:operationBtns="operationBtns"
>
+ <template #code="{ row }">
+ <el-button
+ v-if="row.status === EnumContractTemplateStatus.Completed && !!row.wxmpQrCode"
+ link
+ type="primary"
+ @click="handlePreviewQrcode(row)"
+ >鏌ョ湅</el-button
+ >
+ <span v-else></span>
+ </template>
</ProTableV2>
</AppContainer>
<TemplateAddDialog v-bind="dialogProps"></TemplateAddDialog>
+ <QrcodeDialog v-bind="dialogQrcodeProps" :useQrcode="false"></QrcodeDialog>
</LoadingLayout>
</template>
@@ -70,11 +78,13 @@
bolePreview,
} from '@bole-core/components';
import { AgreementbManageColumns } from './constants';
-import { EnumUserGender } from '@/constants';
-import { downloadFileByUrl } from '@/utils';
+import { EnumContractTemplateStatus, EnumContractTemplateStatusText } from '@/constants';
+import { convertPdfToImage, downloadFileByUrl, format, setOSSLink } from '@/utils';
import { ModelValueType } from 'element-plus';
-import * as taskServices from '@/services/api/task';
+import * as electronSignServices from '@/services/api/electronSign';
import TemplateAddDialog from './components/TemplateAddDialog.vue';
+import QrcodeDialog from './components/QrcodeDialog.vue';
+import { Message } from '@bole-core/core';
defineOptions({
name: 'AgreementManageList',
@@ -89,6 +99,9 @@
emits: {
onClick: (role) => handleCheck(role),
},
+ extraProps: {
+ hide: (row) => row.status !== EnumContractTemplateStatus.Completed,
+ },
},
{
data: {
@@ -98,6 +111,9 @@
emits: {
onClick: (role) => handleDownload(role),
},
+ extraProps: {
+ hide: (row) => row.status !== EnumContractTemplateStatus.Completed,
+ },
},
{
data: {
@@ -106,6 +122,10 @@
},
emits: {
onClick: (role) => handleDelete(role),
+ },
+ props: { type: 'danger' },
+ extraProps: {
+ hide: (row) => row.status !== EnumContractTemplateStatus.Completed,
},
},
]);
@@ -132,16 +152,19 @@
} = useTable(
async ({ pageIndex, pageSize }, extraParamState) => {
try {
- let params: API.GetTaskInfosQuery = {
+ let params: API.GetEnterpriseContractTemplatesQuery = {
pageModel: {
rows: pageSize,
page: pageIndex,
orderInput: extraParamState.orderInput,
},
keywords: extraParamState.keywords,
+ 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'),
};
- let res = await taskServices.getTaskInfos(params, {
+ let res = await electronSignServices.getEnterpriseContractTemplates(params, {
showLoading: !state.loading,
});
return res;
@@ -152,12 +175,16 @@
{
defaultExtraParams: {
keywords: '',
- status: '' as any as EnumUserGender,
- time: [] as unknown as ModelValueType,
- orderInput: [{ property: 'id', order: EnumPagedListOrder.Desc }],
+ status: '' as any as EnumContractTemplateStatus,
+ createdTime: [] as unknown as ModelValueType,
+ orderInput: [{ property: 'createdTime', order: EnumPagedListOrder.Desc }],
},
- queryKey: ['flexEnterpriseServices/getFlexEnterpriseList'],
- columnsRenderProps: {},
+ queryKey: ['electronSignServices/getEnterpriseContractTemplates'],
+ columnsRenderProps: {
+ createdTime: { type: 'date' },
+ completedTime: { type: 'date' },
+ status: { type: 'enum', valueEnum: EnumContractTemplateStatusText },
+ },
}
);
@@ -169,19 +196,65 @@
},
});
-async function handleAddOrEdit() {}
-
-function handleDelete(row) {
- console.log('row: ', row);
+async function handleAddOrEdit() {
+ try {
+ let pdfToImage = await convertPdfToImage(editForm.url?.[0].url);
+ let params: API.SaveContractTemplateCommand = {
+ name: editForm.name,
+ file: editForm.url[0]?.path ?? '',
+ templateEditData: JSON.stringify(
+ pdfToImage.map(
+ (x) =>
+ ({
+ path: x.path,
+ width: x.width,
+ height: x.height,
+ } as TemplateEditDataItem)
+ )
+ ),
+ };
+ let res = await electronSignServices.saveContractTemplate(params);
+ if (res) {
+ Message.successMessage('淇濆瓨鎴愬姛');
+ getList();
+ }
+ } catch (error) {}
}
-function handleDownload(row) {
- downloadFileByUrl('', '妯℃澘');
+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) {}
}
-function handleCheck(row) {
+function handleDownload(row: API.GetEnterpriseContractTemplatesQueryResultItem) {
+ downloadFileByUrl(setOSSLink(row.file), '妯℃澘');
+}
+
+function handleCheck(row: API.GetEnterpriseContractTemplatesQueryResultItem) {
bolePreview({
- fileUrl: '',
+ fileUrl: setOSSLink(row.file),
+ });
+}
+
+const { dialogProps: dialogQrcodeProps, handleEdit } = useFormDialog({
+ defaultFormParams: {
+ qrcodeUrl: '',
+ },
+});
+
+function handlePreviewQrcode(row: API.GetEnterpriseContractTemplatesQueryResultItem) {
+ handleEdit({
+ // qrcodeUrl: setOSSLink(row.file),
+ qrcodeUrl: setOSSLink(row.wxmpQrCode),
});
}
</script>
--
Gitblit v1.9.1