wupengfei
7 天以前 650069714a250c746164c262a01854d3cf99ac80
src/views/ProtocolManage/components/AddOrEditTemplateDialog.vue
@@ -43,6 +43,13 @@
          :disabled="form.isEnterpriseUserCreated"
        ></ProFormText>
      </ProFormItemV2>
      <ProFormItemV2 label="自定义内容:" prop="customContents">
        <ProFormCheckbox
          v-model="form.customContents"
          :value-enum="templateParamList"
          enum-value-key="label"
        ></ProFormCheckbox>
      </ProFormItemV2>
      <ProFormItemV2
        label="上传模板:"
        prop="file"
@@ -54,6 +61,28 @@
          :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>
@@ -73,10 +102,19 @@
  ProFormText,
  ProFormUpload,
  ProFormSelect,
  ProFormSwitch,
  ProFormCheckbox,
} from '@bole-core/components';
import { filterCN, filterNumbersFromString } from '@/utils';
import { FormInstance } from 'element-plus';
import { EnumElectronSignAccessText } from '@/constants';
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';
import { useTemplateDetailProvide } from '@/fabric-editor/hooks/context';
defineOptions({
  name: 'AddOrEditTemplateDialog',
@@ -94,6 +132,10 @@
  access: EnumElectronSignAccess;
  isEnterpriseUserCreated: boolean;
  enterpriseId: string;
  isAutoSign: boolean;
  autoSignPowerAttorneyUrl: UploadUserFile[];
  customContents: string[];
};
const form = defineModel<Form>('form');
@@ -103,11 +145,39 @@
  (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,
});
const { templateParamList } = useTemplateDetailProvide({
  isDefault: false,
});
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() {