| | |
| | | :formatter="filterCN" |
| | | ></ProFormText> |
| | | </ProFormItemV2> |
| | | <ProFormItemV2 |
| | | label="通道:" |
| | | prop="templateId" |
| | | :check-rules="[{ message: '请选择电子签通道' }]" |
| | | > |
| | | <ProFormItemV2 label="通道:" prop="access" :check-rules="[{ message: '请选择电子签通道' }]"> |
| | | <ProFormSelect |
| | | placeholder="请选择电子签通道" |
| | | v-model="form.templateId" |
| | | :value-enum="[{ label: 1, value: '支付宝' }]" |
| | | v-model="form.access" |
| | | :value-enum="enabledElectronSignSettings" |
| | | enum-value-key="access" |
| | | enum-label-key="accessName" |
| | | ></ProFormSelect> |
| | | </ProFormItemV2> |
| | | <ProFormItemV2 |
| | | label="业务编码:" |
| | | prop="bussinessCode" |
| | | :check-rules="[{ message: '请输入业务编码' }]" |
| | | > |
| | | <ProFormItemV2 label="业务编码:" prop="code" :check-rules="[{ message: '请输入业务编码' }]"> |
| | | <ProFormText |
| | | placeholder="请输入业务编码" |
| | | v-model.trim="form.bussinessCode" |
| | | v-model.trim="form.code" |
| | | :maxlength="5" |
| | | :formatter="filterNumbersFromString" |
| | | ></ProFormText> |
| | |
| | | <ProFormText |
| | | placeholder="请输入模板名称" |
| | | v-model.trim="form.name" |
| | | :maxlength="15" |
| | | :maxlength="32" |
| | | :disabled="form.isEnterpriseUserCreated" |
| | | ></ProFormText> |
| | | </ProFormItemV2> |
| | | <ProFormItemV2 |
| | | label="上传模板:" |
| | | prop="templateFileUrl" |
| | | prop="file" |
| | | :check-rules="[{ message: '请上传模板', type: 'upload' }]" |
| | | > |
| | | <ProFormUpload |
| | | v-model:file-url="form.templateFileUrl" |
| | | v-model:file-url="form.file" |
| | | :limit="1" |
| | | :limitFileSize="10" |
| | | accept="pdf" |
| | | ></ProFormUpload> |
| | | </ProFormItemV2> |
| | | <ProFormItemV2 |
| | | label="自动签约:" |
| | | prop="isAutoSign" |
| | | required |
| | | v-if="form.access === EnumElectronSignAccess.BestSign" |
| | | > |
| | | <ProFormSwitch v-model="form.isAutoSign"></ProFormSwitch> |
| | | </ProFormItemV2> |
| | | <ProFormItemV2 |
| | | label="上传授权书:" |
| | | prop="autoSignPowerAttorneyUrl" |
| | | :check-rules="form.isAutoSign && [{ message: '请上传签授权书', type: 'upload' }]" |
| | | :required="form.isAutoSign" |
| | | > |
| | | <ProFormUpload |
| | | v-model:file-url="form.autoSignPowerAttorneyUrl" |
| | | :limit="1" |
| | | :limitFileSize="10" |
| | | accept="pdf,doc,docx,png,jpg,jpeg" |
| | | ></ProFormUpload> |
| | | <el-button type="primary" link @click="handleDownload">下载模板</el-button> |
| | | </ProFormItemV2> |
| | | </ProForm> |
| | | <template #footer> |
| | |
| | | ProFormText, |
| | | ProFormUpload, |
| | | ProFormSelect, |
| | | ProFormSwitch, |
| | | } from '@bole-core/components'; |
| | | import { filterCN, filterNumbersFromString } from '@/utils'; |
| | | import { FormInstance } from 'element-plus'; |
| | | import { filterCN, filterNumbersFromString, downloadFileByUrl } from '@/utils'; |
| | | import { FormInstance, FormRules } from 'element-plus'; |
| | | import { |
| | | EnumElectronSignAccessText, |
| | | EnumElectronSignAccess, |
| | | AutoSignPowerAttorneyTempUrl, |
| | | } from '@/constants'; |
| | | import * as electronSignServices from '@/services/api/electronSign'; |
| | | import { Message } from '@bole-core/core'; |
| | | |
| | | defineOptions({ |
| | | name: 'AddOrEditTemplateDialog', |
| | |
| | | id: string; |
| | | templateId: string; |
| | | name: string; |
| | | bussinessCode: string; |
| | | templateFileUrl: UploadUserFile[]; |
| | | code: string; |
| | | file: UploadUserFile[]; |
| | | access: EnumElectronSignAccess; |
| | | isEnterpriseUserCreated: boolean; |
| | | enterpriseId: string; |
| | | isAutoSign: boolean; |
| | | autoSignPowerAttorneyUrl: UploadUserFile[]; |
| | | }; |
| | | |
| | | const form = defineModel<Form>('form'); |
| | |
| | | (e: 'onCancel'): void; |
| | | }>(); |
| | | |
| | | watch( |
| | | () => form.value.isAutoSign, |
| | | () => { |
| | | if (form.value.isAutoSign && dialogForm.value) { |
| | | dialogForm.value.clearValidate('autoSignPowerAttorneyUrl'); |
| | | } |
| | | } |
| | | ); |
| | | const { enabledElectronSignSettings } = useEnabledElectronSignSettings({ |
| | | enterpriseId: computed(() => form.value.enterpriseId), |
| | | all: true, |
| | | }); |
| | | |
| | | async function handleCodeBlur() { |
| | | try { |
| | | let params: API.CheckContractTemplateCommand = { |
| | | id: form.value?.id, |
| | | }; |
| | | let res = await electronSignServices.checkContractTemplate(params); |
| | | if (res) { |
| | | Message.warnMessage('业务编码已存在,请重新输入'); |
| | | } |
| | | } catch (error) {} |
| | | } |
| | | |
| | | function handleDownload() { |
| | | downloadFileByUrl(AutoSignPowerAttorneyTempUrl, '自动签授权书模板'); |
| | | } |
| | | |
| | | const dialogForm = ref<FormInstance>(); |
| | | |
| | | function onDialogClose() { |