<template>
  <div class="eContainer">
    <c-page :title="title">
      <el-form ref="modelForm" label-width="120px" size="small" label-position="right" :model="model" :rules="rules">
        <c-content>
          <m-cur-info :model="model" />
        </c-content>
      </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 Cur, { Pattern } from "../Infcur/Cur.js";

import Currency from "./Currency.vue";

import { curInfo, add, edit, deleteById } from "~/service/test/cur.js";

export default {
  name: "StaticsDbicur",
  components: {
    "m-cur-info": Currency,
  },
  provide() {
    return {
      root: this,
    };
  },
  props: {
    type: {
      type: String,
      default: "info"
    },
    title: {
      type: String,
      default: "dbipty"
    }
  },
  data() {
    return {
      model: new Cur().data,
      tabVal: "pty",
      rules: Pattern,
    };
  },
  computed: {
    isDisabled() {
      return this.type === "info" || this.type === "delete";
    },
  },
  created() {
    if (this.type !== "add") {
      const inr = this.$route.params.inr;
      curInfo(inr).then((res) => {
        if (res.inr) {
          console.log(res);
          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()
            })
            .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 是否更新infpty的查询列表
     */
    goBack(update) {
      this.$store.dispatch("TagsView/delView", this.$route);
      this.$router.push({ name: "StaticsInfcur", params: { update } });
    },

  },
};
</script>

<style>

</style>