数通智联化工云平台
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

111 lines
3.0 KiB

2 years ago
<!--
@ 作者: 秦东
@ 时间: 2023-06-18 14:51:23
@ 备注: 新增紧急联系人
-->
<script lang='ts' setup>
import { emergencyContactInfo,emergencyContactAdd } from '@/api/hr/people/type'
import { addEmergencyContactInfo } from '@/api/hr/people/index'
const props = defineProps({
addisshow:{
type:Boolean,
default:false
},
keyval:{
type:String,
default:""
}
});
const addLoading = ref(false)
const emits = defineEmits(["update:addisshow","restdata"]); //操作父级数据
const addJjlxrFormRef = ref(ElForm); //编辑表单
const jjlxrFormData = reactive<emergencyContactInfo>({id:""});
/**
* 弹窗显示控制
*/
const addshow = computed({
get: () => props.addisshow,
set: (val) => {
emits("update:addisshow", val);
},
});
/**
* 表单验证规则
*/
const addJjlxrRules = reactive({
name: [{ required: true, message: "请输入紧急联系人姓名", trigger: "blur" }],
relationship: [{ required: true, message: "请输入与紧急联系人关系", trigger: "blur" }],
mobilephone: [{ required: true, message: "请输入紧急联系人联系方式", trigger: "blur" }],
});
/**
* 关闭弹窗
*/
function clostAddBoxJjlxr(){
emits("update:addisshow", false);
initJjlxrData()
}
/**
* 初始化数据
*/
function initJjlxrData(){
addJjlxrFormRef.value.resetFields();
addLoading.value = false;
}
/**
* 提交数据
*/
function submitAddJjlxr(){
// console.log("提交数据",jjlxrFormData)
// addLoading.value = true;
addJjlxrFormRef.value.validate((isValid: boolean) => {
if (isValid) {
let listAry = new Array
listAry.push(jjlxrFormData)
addEmergencyContactInfo({id:props.keyval,list:listAry})
.then(() =>{
ElMessage.success("新增成功");
clostAddBoxJjlxr();
emits('restdata');
})
.finally(() =>{addLoading.value = false;})
}
});
}
</script>
<template>
<el-dialog
v-model="addshow"
width="500"
title="添加紧急联系人"
append-to-body
:before-close="clostAddBoxJjlxr"
>
<el-form
ref="addJjlxrFormRef"
:model="jjlxrFormData"
:rules="addJjlxrRules"
label-width="140px"
>
<el-form-item label="姓名" prop="name">
<el-input v-model="jjlxrFormData.name" placeholder="请输入紧急联系人姓名" />
</el-form-item>
<el-form-item label="联系方式" prop="mobilephone">
<el-input v-model="jjlxrFormData.mobilephone" placeholder="请输入紧急联系人联系方式" />
</el-form-item>
<el-form-item label="与紧急联系人关系" prop="relationship">
<el-input v-model="jjlxrFormData.relationship" placeholder="请输入与紧急联系人关系" />
</el-form-item>
</el-form>
<template #footer>
<div class="dialog-footer">
<el-button type="primary" :loading="addLoading" @click="submitAddJjlxr" > </el-button>
<el-button @click="clostAddBoxJjlxr"> </el-button>
</div>
</template>
</el-dialog>
</template>
<style lang='scss' scoped>
</style>