|
@@ -1,12 +1,12 @@
|
|
<template>
|
|
<template>
|
|
<my-dialog
|
|
<my-dialog
|
|
:visible="visible"
|
|
:visible="visible"
|
|
- @close="emit('update:visible', false)"
|
|
+ :header="title"
|
|
- :header="`${isEdit ? '修改' : '新增'}人员档案`"
|
|
|
|
:width="900"
|
|
:width="900"
|
|
:closeOnOverlayClick="false"
|
|
:closeOnOverlayClick="false"
|
|
|
|
+ @close="emit('update:visible', false)"
|
|
>
|
|
>
|
|
- <t-form ref="formRef" :model="formData" layout="inline" labelWidth="120px">
|
|
+ <t-form ref="formRef" :model="formData" :rules="rules" labelWidth="120px">
|
|
<t-row :gutter="[0, 20]">
|
|
<t-row :gutter="[0, 20]">
|
|
<t-col :span="4">
|
|
<t-col :span="4">
|
|
<t-form-item label="人员档案编号">
|
|
<t-form-item label="人员档案编号">
|
|
@@ -14,37 +14,37 @@
|
|
</t-form-item>
|
|
</t-form-item>
|
|
</t-col>
|
|
</t-col>
|
|
<t-col :span="4">
|
|
<t-col :span="4">
|
|
- <t-form-item label="姓名">
|
|
+ <t-form-item label="姓名" name="a">
|
|
<t-input v-model="formData.a"></t-input>
|
|
<t-input v-model="formData.a"></t-input>
|
|
</t-form-item>
|
|
</t-form-item>
|
|
</t-col>
|
|
</t-col>
|
|
<t-col :span="4">
|
|
<t-col :span="4">
|
|
- <t-form-item label="常住区域">
|
|
+ <t-form-item label="常住区域" name="b">
|
|
<t-select v-model="formData.b"></t-select>
|
|
<t-select v-model="formData.b"></t-select>
|
|
</t-form-item>
|
|
</t-form-item>
|
|
</t-col>
|
|
</t-col>
|
|
<t-col :span="4">
|
|
<t-col :span="4">
|
|
- <t-form-item label="身份证号">
|
|
+ <t-form-item label="身份证号" name="c">
|
|
<t-input v-model="formData.c"></t-input>
|
|
<t-input v-model="formData.c"></t-input>
|
|
</t-form-item>
|
|
</t-form-item>
|
|
</t-col>
|
|
</t-col>
|
|
<t-col :span="4">
|
|
<t-col :span="4">
|
|
- <t-form-item label="性别">
|
|
+ <t-form-item label="性别" name="d">
|
|
<t-select v-model="formData.d"></t-select>
|
|
<t-select v-model="formData.d"></t-select>
|
|
</t-form-item>
|
|
</t-form-item>
|
|
</t-col>
|
|
</t-col>
|
|
<t-col :span="4">
|
|
<t-col :span="4">
|
|
- <t-form-item label="学历">
|
|
+ <t-form-item label="学历" name="e">
|
|
<t-select v-model="formData.e"></t-select>
|
|
<t-select v-model="formData.e"></t-select>
|
|
</t-form-item>
|
|
</t-form-item>
|
|
</t-col>
|
|
</t-col>
|
|
<t-col :span="4">
|
|
<t-col :span="4">
|
|
- <t-form-item label="手机号">
|
|
+ <t-form-item label="手机号" name="f">
|
|
<t-input v-model="formData.f"></t-input>
|
|
<t-input v-model="formData.f"></t-input>
|
|
</t-form-item>
|
|
</t-form-item>
|
|
</t-col>
|
|
</t-col>
|
|
<t-col :span="8">
|
|
<t-col :span="8">
|
|
- <t-form-item label="电子邮箱">
|
|
+ <t-form-item label="电子邮箱" name="g">
|
|
<t-input v-model="formData.g"></t-input>
|
|
<t-input v-model="formData.g"></t-input>
|
|
</t-form-item>
|
|
</t-form-item>
|
|
</t-col>
|
|
</t-col>
|
|
@@ -72,17 +72,17 @@
|
|
</t-form-item>
|
|
</t-form-item>
|
|
</t-col>
|
|
</t-col>
|
|
<t-col :span="4">
|
|
<t-col :span="4">
|
|
- <t-form-item label="所属供应商">
|
|
+ <t-form-item label="所属供应商" name="i">
|
|
<t-select v-model="formData.i"></t-select>
|
|
<t-select v-model="formData.i"></t-select>
|
|
</t-form-item>
|
|
</t-form-item>
|
|
</t-col>
|
|
</t-col>
|
|
<t-col :span="4">
|
|
<t-col :span="4">
|
|
- <t-form-item label="入档时间">
|
|
+ <t-form-item label="入档时间" name="j">
|
|
<t-date-picker v-model="formData.j" />
|
|
<t-date-picker v-model="formData.j" />
|
|
</t-form-item>
|
|
</t-form-item>
|
|
</t-col>
|
|
</t-col>
|
|
<t-col :span="12">
|
|
<t-col :span="12">
|
|
- <t-form-item label="认证项目角色">
|
|
+ <t-form-item label="认证项目角色" name="k">
|
|
<t-checkbox-group v-model="formData.k">
|
|
<t-checkbox-group v-model="formData.k">
|
|
<t-checkbox>实施工程师</t-checkbox>
|
|
<t-checkbox>实施工程师</t-checkbox>
|
|
<t-checkbox>区域协调人</t-checkbox>
|
|
<t-checkbox>区域协调人</t-checkbox>
|
|
@@ -121,8 +121,11 @@
|
|
</my-dialog>
|
|
</my-dialog>
|
|
</template>
|
|
</template>
|
|
<script setup name="AddPersonFileDialog">
|
|
<script setup name="AddPersonFileDialog">
|
|
|
|
+import { ref, computed } from 'vue';
|
|
|
|
+import { MessagePlugin } from 'tdesign-vue-next';
|
|
import useClearDialog from '@/hooks/useClearDialog';
|
|
import useClearDialog from '@/hooks/useClearDialog';
|
|
-import { ref } from 'vue';
|
|
+import { personfilesEditApi } from '@/api/resource-guard';
|
|
|
|
+
|
|
const emit = defineEmits(['update:visible']);
|
|
const emit = defineEmits(['update:visible']);
|
|
const formRef = ref(null);
|
|
const formRef = ref(null);
|
|
const file = ref([]);
|
|
const file = ref([]);
|
|
@@ -131,6 +134,10 @@ const props = defineProps({
|
|
curRow: Object,
|
|
curRow: Object,
|
|
});
|
|
});
|
|
|
|
|
|
|
|
+const title = computed(() => {
|
|
|
|
+ return (isEdit.value ? '编辑' : '新增') + '人员档案';
|
|
|
|
+});
|
|
|
|
+
|
|
const requestMethod = (f) => {
|
|
const requestMethod = (f) => {
|
|
return new Promise((rs) => {
|
|
return new Promise((rs) => {
|
|
rs({
|
|
rs({
|
|
@@ -168,5 +175,93 @@ const { formData, isEdit } = useClearDialog(
|
|
getDetail
|
|
getDetail
|
|
);
|
|
);
|
|
|
|
|
|
-const save = () => {};
|
|
+const rules = {
|
|
|
|
+ a: [
|
|
|
|
+ { required: true, message: '姓名必填', type: 'error', trigger: 'change' },
|
|
|
|
+ ],
|
|
|
|
+ b: [
|
|
|
|
+ {
|
|
|
|
+ required: true,
|
|
|
|
+ message: '常住区域必选',
|
|
|
|
+ type: 'error',
|
|
|
|
+ trigger: 'change',
|
|
|
|
+ },
|
|
|
|
+ ],
|
|
|
|
+ c: [
|
|
|
|
+ {
|
|
|
|
+ required: true,
|
|
|
|
+ message: '身份证号必填',
|
|
|
|
+ type: 'error',
|
|
|
|
+ trigger: 'change',
|
|
|
|
+ },
|
|
|
|
+ ],
|
|
|
|
+ d: [
|
|
|
|
+ {
|
|
|
|
+ required: true,
|
|
|
|
+ message: '性别必选',
|
|
|
|
+ type: 'error',
|
|
|
|
+ trigger: 'change',
|
|
|
|
+ },
|
|
|
|
+ ],
|
|
|
|
+ e: [
|
|
|
|
+ {
|
|
|
|
+ required: true,
|
|
|
|
+ message: '学历必选',
|
|
|
|
+ type: 'error',
|
|
|
|
+ trigger: 'change',
|
|
|
|
+ },
|
|
|
|
+ ],
|
|
|
|
+ f: [
|
|
|
|
+ {
|
|
|
|
+ required: true,
|
|
|
|
+ message: '手机号必填',
|
|
|
|
+ type: 'error',
|
|
|
|
+ trigger: 'change',
|
|
|
|
+ },
|
|
|
|
+ ],
|
|
|
|
+ g: [
|
|
|
|
+ {
|
|
|
|
+ required: true,
|
|
|
|
+ message: '电子邮箱必填',
|
|
|
|
+ type: 'error',
|
|
|
|
+ trigger: 'change',
|
|
|
|
+ },
|
|
|
|
+ ],
|
|
|
|
+ i: [
|
|
|
|
+ {
|
|
|
|
+ required: true,
|
|
|
|
+ message: '所属供应商必选',
|
|
|
|
+ type: 'error',
|
|
|
|
+ trigger: 'change',
|
|
|
|
+ },
|
|
|
|
+ ],
|
|
|
|
+ j: [
|
|
|
|
+ {
|
|
|
|
+ required: true,
|
|
|
|
+ message: '入档时间必填',
|
|
|
|
+ type: 'error',
|
|
|
|
+ trigger: 'change',
|
|
|
|
+ },
|
|
|
|
+ ],
|
|
|
|
+ k: [
|
|
|
|
+ {
|
|
|
|
+ required: true,
|
|
|
|
+ message: '认证项目角色必选',
|
|
|
|
+ type: 'error',
|
|
|
|
+ trigger: 'change',
|
|
|
|
+ },
|
|
|
|
+ ],
|
|
|
|
+};
|
|
|
|
+
|
|
|
|
+const save = async () => {
|
|
|
|
+ const valid = await formRef.value.validate();
|
|
|
|
+ if (valid !== true) return;
|
|
|
|
+
|
|
|
|
+ const res = await personfilesEditApi(formData).catch(() => {});
|
|
|
|
+ if (!res) return;
|
|
|
|
+
|
|
|
|
+ MessagePlugin.success('保存成功');
|
|
|
|
+ emit('update:visible', false);
|
|
|
|
+ emit('success');
|
|
|
|
+};
|
|
</script>
|
|
</script>
|