<template> <div class="eContainer"> <c-page :title="title"> <el-form ref="modelForm" label-width="160px" size="small" label-position="right" :model="model" :rules="rules" :validate-on-rule-change="false" :disabled="isDisabled" > <c-tabs v-model="tabVal" ref="elment" type="card"> <el-tab-pane label="基本信息" name="atx"> <c-content> <m-atx-info :model="model" /> </c-content> </el-tab-pane> </c-tabs> </el-form> <div style="text-align: center"> <c-button type="primary" style="margin-right: 10px" @click="commitAdd" v-if="type === 'add'" >提 交</c-button > <c-button type="primary" style="margin-right: 10px" @click="commitEdit" v-if="type === 'edit'" >提 交</c-button > <c-button type="primary" style="margin-right: 10px" @click="commitDelete" v-if="type === 'delete'" >提 交</c-button > <c-button type="primary" @click="goBack">返 回</c-button> </div> </c-page> </div> </template> <script> import Utils from "~/utils"; import Atx, { Pattern } from "./Atx.js"; import AtxInfo from "./AtxInfo.vue" // import PtyInfo from "./PtyInfo.vue"; // import AdrList from "./AdrList.vue"; // import ActInfo from "./ActInfo.vue"; // import PtcInfo from "./PtcInfo.vue"; // import RatInfo from "./RatInfo.vue"; import { queryDetailById, add, edit, deleteById } from "~/service/test/atx.js"; export default { name: "StaticsDbiatx", components: { "m-atx-info": AtxInfo, // "m-adr-list": AdrList, // "m-act-info": ActInfo, // "m-ptc-info": PtcInfo, // "m-rat-info": RatInfo, }, provide() { return { root: this, }; }, props: { type: { type: String, default: "info" }, title: { type: String, default: "dbiatx" } }, data() { return { model: new Atx().data, tabVal: "atx", rules: Pattern, }; }, computed: { isDisabled() { return this.type === "info" || this.type === "delete"; }, }, created() { if (this.type !== "add") { const inr = this.$route.params.inr; queryDetailById(inr).then((res) => { if (res.inr) { this.model = res; } else { this.$message.error("客户不存在") } }); } }, methods: { commitAdd() { this.$refs.modelForm.validate((validated) => { if (validated) { add(this.model) .then((res) => { this.$message.success("保存成功!"); this.goBack(true) }) .catch((err) => { this.$message.error("保存失败!"); }); } else { Utils.formValidateTips(this.$refs.modelForm.fields) } }); }, commitEdit() { this.$refs.modelForm.validate((validated) => { if (validated) { edit(this.model) .then((res) => { this.$message.success("保存成功!"); this.goBack(true) }) .catch((err) => { this.$message.error("保存失败!"); }); } else { Utils.formValidateTips(this.$refs.modelForm.fields) } }); }, commitDelete() { this.$confirm("是否确认删除?", "提示", { confirmButtonText: "确定", cancelButtonText: "取消", type: "warning", }) .then(() => { deleteById(this.model.inr) .then((res) => { this.$message.success("删除成功!"); this.goBack(true) }) .catch((err) => { this.$message.error("删除失败!"); }); }) .catch(() => { this.$message({ type: "info", message: "已取消删除", }); }); }, /** * update 是否更新infatx的查询列表 */ goBack(update) { this.$store.dispatch("TagsView/delView", this.$route); this.$router.push({ name: "StaticsInfatx", params: { update } }); }, }, }; </script> <style> </style>