zhengyiming
7 天以前 9373e192d80ba82036929de1904f7fadb515bfd5
src/views/FlexJobManage/components/SignDialog.vue
New file
@@ -0,0 +1,72 @@
<template>
  <ProDialog title="签约" v-model="visible" @close="onDialogClose" destroy-on-close draggable>
    <ProForm :model="form" ref="dialogForm" label-width="100px">
      <ProFormItemV2
        label="请选择模板:"
        prop="contractTemplateId"
        :check-rules="[{ message: '请选择模板' }]"
      >
        <ProFormSelect
          v-model="form.contractTemplateId"
          :valueEnum="enterpriseContractTemplateSelect"
        >
        </ProFormSelect>
      </ProFormItemV2>
    </ProForm>
    <template #footer>
      <span class="dialog-footer">
        <el-button type="primary" @click="handleConfirm">提交</el-button>
        <el-button type="default" @click="emit('onCancel')">取消</el-button>
      </span>
    </template>
  </ProDialog>
</template>
<script setup lang="ts">
import {
  ProDialog,
  ProForm,
  ProFormItemV2,
  ProFormSelect,
  UploadUserFile,
} from '@bole-core/components';
import { FormInstance } from 'element-plus';
defineOptions({
  name: 'BatchImportDialog',
});
const { enterpriseContractTemplateSelect } = useEnterpriseContractTemplateSelect();
type Form = {
  title?: string;
  ids?: string[];
  contractTemplateId?: string;
};
const visible = defineModel({ type: Boolean });
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>