49 lines
1.5 KiB
Vue
49 lines
1.5 KiB
Vue
<template>
|
|
<el-dialog :model-value="modelValue" @update:model-value="$emit('update:modelValue', $event)" title="新增客户单位"
|
|
width="400px">
|
|
<el-form :model="form" label-width="100px">
|
|
<el-form-item label="单位名称" required>
|
|
<el-input v-model="form.company_name" placeholder="例如:方舟星河" />
|
|
</el-form-item>
|
|
</el-form>
|
|
<template #footer>
|
|
<el-button @click="$emit('update:modelValue', false)">取消</el-button>
|
|
<el-button type="primary" @click="handleSubmit">确定</el-button>
|
|
</template>
|
|
</el-dialog>
|
|
</template>
|
|
|
|
<script setup>
|
|
import { ref, watch } from "vue";
|
|
import { ElMessage } from "element-plus";
|
|
import { customerApi } from "@/api/ticket";
|
|
|
|
const props = defineProps({ modelValue: Boolean });
|
|
const emit = defineEmits(["update:modelValue", "success"]);
|
|
|
|
const form = ref({ company_name: "" });
|
|
|
|
watch(
|
|
() => props.modelValue,
|
|
(val) => {
|
|
if (val) form.value.company_name = "";
|
|
}
|
|
);
|
|
|
|
const handleSubmit = async () => {
|
|
if (!form.value.company_name) return ElMessage.error("名称不能为空");
|
|
try {
|
|
const res = await customerApi.addCustomerName({
|
|
company_name: form.value.company_name,
|
|
});
|
|
if (res.code === 200) {
|
|
ElMessage.success("客户单位创建成功");
|
|
emit("success");
|
|
emit("update:modelValue", false);
|
|
}
|
|
} catch (error) {
|
|
ElMessage.error("创建失败");
|
|
}
|
|
};
|
|
</script>
|