<template>
|
<div v-loading="state.m_loadingFormSubmit">
|
<el-form ref="ruleFormRef" :model="state.formData" label-width="180px" :rules="state.rules">
|
<el-form-item :label="`${t('detailPage.pumpModel.TR')}`" prop="PumpName">
|
<el-input v-model="state.formData.PumpName" />
|
</el-form-item>
|
<el-form-item :label="`${t('detailPage.pumpNumber.TR')}`" prop="PumpNumber">
|
<el-input v-model="state.formData.PumpNumber" @input="changeValue" placeholder="" />
|
</el-form-item>
|
<el-form-item :label="`${t('detailPage.address.TR')}`" prop="Title">
|
<el-input v-model="state.formData.Title" />
|
</el-form-item>
|
<el-form-item :label="`${t('simpleLoginPage.corpName.TR')}`" prop="CustomerName">
|
<el-input v-model="state.formData.CustomerName" />
|
</el-form-item>
|
<el-form-item :label="`${t('detailPage.contactName.TR')}`" prop="UserName">
|
<el-input v-model="state.formData.UserName" />
|
</el-form-item>
|
<el-form-item :label="`${t('detailPage.contactInformation.TR')}`" prop="CustomerContact">
|
<el-input v-model="state.formData.CustomerContact" />
|
</el-form-item>
|
<el-form-item :label="`${t('selectPage.note.TR')}`" prop="Note">
|
<el-input v-model="state.formData.Note" type="textarea" :rows="4" />
|
</el-form-item>
|
<el-form-item>
|
<el-button @click="closeDialog">{{ t('detailPage.cancel.TR') }}</el-button>
|
<el-button type="primary" @click="submitForm(ruleFormRef)">{{ t('detailPage.submit.TR') }}</el-button>
|
</el-form-item>
|
</el-form>
|
</div>
|
</template>
|
<script setup name="InQuiryPrice">
|
import { ref, reactive, onMounted } from "vue";
|
import { useI18n } from "vue-i18n";
|
import {AddFromWeb} from '@/api/detail'
|
import { ElMessage } from "element-plus";
|
const { t } = useI18n()
|
const ruleFormRef = ref('')
|
const emit = defineEmits(['cbClosePriceDialog'])
|
let state = reactive({
|
m_loadingFormSubmit: false,
|
formData: {
|
CustomerName: "",
|
CustomerContact: "",
|
PumpID: "",
|
PumpName: "",
|
Note: "",
|
Title: "",
|
UserID: "",
|
UserName: "",
|
PumpNumber: "",
|
},
|
rules: {
|
CustomerName: [
|
{ required: true, message: `${t('simpleLoginPage.formValidate.corpName0.TR')}`, trigger: "blur" },
|
],
|
CustomerContact: [
|
{ required: true, message: `${t('detailPage.inquirtFormatte1.TR')}`, trigger: "blur" },
|
],
|
}
|
})
|
|
|
//初始化获取数据
|
const initFormData = (formData) => {
|
state.formData = formData;
|
ruleFormRef.value.clearValidate();
|
}
|
//提交表单
|
const submitForm = (formName) => {
|
formName.validate((valid) => {
|
if (valid) {
|
state.m_loadingFormSubmit = true;
|
axiosHelper
|
.post({
|
version: 3,
|
controller: "InquiryPrice",
|
action: "AddFromWeb",
|
data: state.formData,
|
apiUrlType: "main",
|
isAddUrlSoftType: "false",
|
}).then((res) => {
|
if (res.data) {
|
state.m_loadingFormSubmit = false;
|
ElMessage.success({
|
showClose: true,
|
message: `${res.data.Message}`,
|
});
|
closeDialog();
|
} else {
|
state.m_loadingFormSubmit = false
|
ElMessage.error({
|
showClose: true,
|
message: `${res.data.Message}`,
|
});
|
// state.isShowInQuiryPriceDialog = false;
|
}
|
});
|
}
|
});
|
}
|
//回调关闭弹窗
|
const closeDialog = () => {
|
emit("cbClosePriceDialog");
|
}
|
//只能输入正整数
|
const changeValue = (value) => {
|
state.formData.PumpNumber = /^[0-9]*$/.test(parseInt(value))
|
? String(parseInt(value)).replace(".", "")
|
: "";
|
}
|
|
defineExpose({
|
initFormData
|
})
|
|
|
</script>
|
<style></style>
|