<template> <div class="eContainer"> <c-page :title="title"> <el-form ref="modelForm" label-width="120px" 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="txm"> <c-content> <m-txm-info :model="model" :type="type" /> </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 Txm, { Pattern } from "./Txm.js"; import TxmInfo from "./TxmInfo.vue"; import { queryById, add, edit, deleteById } from "~/service/test/txm.js"; export default { name: "StaticsDbitxm", components: { "m-txm-info": TxmInfo, }, provide() { return { root: this, }; }, props: { type: { type: String, default: "info" }, title: { type: String, default: "dbitxm" } }, data() { return { model: new Txm().data, tabVal: "txm", rules: Pattern, }; }, computed: { isDisabled() { return this.type === "info" || this.type === "delete"; }, }, created() { if (this.type !== "add") { const inr = this.$route.params.inr; queryById(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) => { if (res.inr) { this.$message.success("修改成功!"); this.goBack(true) } else { this.$message.error("修改失败!"); } }) .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) => { if (res === true) { this.$message.success("删除成功!"); this.goBack(true) } else { this.$message.error("删除失败,请刷新后再试"); } }) .catch((err) => { this.$message.error("删除失败!"); }); }) .catch(() => { this.$message({ type: "info", message: "已取消删除", }); }); }, goBack(update) { this.$store.dispatch("TagsView/delView", this.$route); this.$router.push({ name: "StaticsInftxm", params: { update } }); }, }, }; </script> <style> </style>