<template>
  <div class="outOrderTable">
    <out-order-add-model
      :showModel="modelShowModel"
      :id="modelId"
      :sitem="modelItem"
      @refresh="refresh"
    />
    <div class="tr" style="padding: 0 20px 20px 0">
      <el-button
        type="primary"
        plain
        :size="'mini'"
        @click="openModal('add', '')"
        >新建售后申请单</el-button
      >
    </div>
    <add-edit
      :id="modelId"
      :sitem="s_sitem"
      :show-model="showModel"
      :is-detail="isDetail"
      @refresh="refresh"
      @cancel="showModel = false"
    />
  </div>
</template>
   <script>
import mixinPage from "@/mixins/elPaginationHandle";
import resToken from "@/mixins/resToken";
import asyncRequest from "@/apis/service/sellOut/salesOrder/detail";
// import outOrderAddModel from "./out-order-add-model";
import addEdit from "./addEdit_sellReturnOrder.vue";

import { mapGetters } from "vuex";

export default {
  name: "salesOrderDetail",
  mixins: [mixinPage, resToken],
  props: ["newTime", "id", "sitem"],
  components: { addEdit }, //outOrderAddModel
  watch: {
    newTime: function (val) {
      if (val) {
        this.initForm();
      }
    },
  },
  computed: {
    ...mapGetters(["tablebtnSize", "searchSize", "size"]),

    powers() {
      let tran =
        this.$store.getters.btnList.find(
          (item) => item.menu_route == "salesOrderDetail"
        ) || {};
      if (tran && tran.action && tran.action.length > 0) {
        return tran.action;
      } else {
        return [];
      }
    },
  },

  data() {
    return {
      orderCode: "",
      outCode: "",
      // 状态
      statusOptions: [
        { id: "1", label: "已出库" },
        { id: "2", label: "验收中" },
        { id: "3", label: "验收完成" },
      ],
      showGoodsModel: false,
      stock_code: "",
      tableData: [],
      loading: false,
      queryId: "",
      status: "",
      showModel: null,
      modelId: "",
      modelItem: null,
      s_sitem: null,
    };
  },
  mounted() {
    this.initForm();
  },
  methods: {
    refresh(e) {
      console.log(e);
      this.$emit("refresh", e);
    },
    initForm() {
      this.status = "";
      this.queryId = this.$route.query.id;
      //   this.resetForm();
    },
    getNewTime() {
      this.newTime = new Date().valueOf();
    },
    // async resetForm() {
    //   // 重置
    //   await this.$nextTick(() => {

    //   });
    // },

    editRow(index) {
      let findex = this.stockForm.good_stock.findIndex((v) => v.edit === true);
      if (findex !== -1) {
        this.$message.warning("当前已有发货仓库信息在编辑，请保存后再试！");
        return;
      } else {
        this.stockForm.good_stock[index].edit = true;
      }
    },
    checkStockRow(index) {
      let total = parseInt(this.stockForm.good_stock[index].usable_stock),
        num = parseInt(this.stockForm.good_stock[index].num);
      if (total === 0) {
        this.$message.warning("该仓库已无该商品库存！不能销售！");
        return;
      } else {
        if (num > total) {
          this.$message.warning("销售数量不能大于可用库存！");
          return;
        } else {
          this.stockForm.good_stock[index].edit = false;
        }
      }
    },

    openHouseModal() {
      this.modelId = "add";
      this.modelItem = this.sitem;
      this.modelShowModel = true;
    },

    //省市区保存某一行
    checkRow(rowIndex) {
      this.$refs.addrForm.validate((valid) => {
        if (valid) {
          this.tableData[rowIndex].edit = false;
        } else {
          console.log("error submit!!");
          return false;
        }
      });
    },
    // 省市区删除行操作
    deleteRow(index, rows) {
      rows.splice(index, 1);
    },
    async submitForm() {
      await this.$refs.ruleForm.validate(async (valid) => {
        if (valid) {
          this.loading = true;
          const { order_addr } = JSON.parse(JSON.stringify(this.addrForm));
          let model = {
            id: this.queryId,
            order_addr: [],
          };
          order_addr.forEach((v2) => {
            let model2 = {
              post_fee: v2.post_fee,
              id: v2.id,
            };
            model.order_addr.push(model2);
          });
          let res = await asyncRequest.salefee(model);
          this.loading = false;
          if (res && res.code === 0) {
            this.$notify.success({
              title: "反馈物流费用成功！",
              message: "",
            });
            this.showModelThis = false;
            // 刷新
            this.$emit("refresh");
          } else if (res && res.code >= 100 && res.code <= 104) {
            await this.logout();
          } else {
            this.$message.warning(res.message);
          }
        } else {
          console.log("error submit!!");
          return false;
        }
      });
    },
    openModal(code, sitem, outcode) {
      this.s_sitem = this.sitem;
      this.modelId = code;
      this.showModel = true;
    },
  },
};
</script>
   <style lang="scss" scoped>
</style>
   