<template>
  <ifrm ref="ifrm">
    <!-- 工序检验 -->
    <u-sticky offset-top="10">
      <uni-forms ref="form" err-show-type="toast">
        <uni-forms-item name="allegation"
          ><input
            type="text"
            v-model="value"
            @confirm="proConfrim"
            class="uni-input-border"
            placeholder="流程卡"
        /></uni-forms-item>
      </uni-forms>
    </u-sticky>

    <t-table>
      <t-tr>
        <t-td>流程卡号</t-td>
        <t-td>{{ tableObj.cardNo }}</t-td>
      </t-tr>
      <t-tr>
        <t-td>车间订单号</t-td>
        <t-td>{{ tableObj.woCode }}</t-td>
      </t-tr>
      <t-tr>
        <t-td>批单号</t-td>
        <t-td>{{ tableObj.batchNo }}</t-td>
      </t-tr>
      <t-tr>
        <t-td>零件编码</t-td>
        <t-td>{{ tableObj.partCode }}</t-td>
      </t-tr>
      <!-- <t-tr>
        <t-td>零件名称</t-td>
        <t-td>{{ tableObj.partName }}</t-td>
      </t-tr>
      <t-tr>
        <t-td>上序号</t-td>
        <t-td>{{ tableObj.frontOrders }}</t-td>
      </t-tr>
      <t-tr>
        <t-td>上序名称</t-td>
        <t-td>{{ tableObj.frontPpsName }}</t-td>
      </t-tr> -->
      <t-tr>
        <t-td>工序号</t-td>
        <t-td>{{ tableObj.orders }}</t-td>
      </t-tr>
      <t-tr>
        <t-td>工序名称</t-td>
        <t-td>{{ tableObj.ppsName }}</t-td>
      </t-tr>
      <t-tr>
        <t-td>班组</t-td>
        <t-td>{{ tableObj.makeTeam }}</t-td>
      </t-tr>
      <t-tr>
        <t-td>检验数量</t-td>
        <t-td><input type="number" v-model="tableObj.makeQty" /></t-td>
      </t-tr>
      <t-tr>
        <t-td>是否合格</t-td>
        <t-td>
          <picker
            @change="bindPickerChange"
            :value="pickerIndex"
            :range="array"
          >
            <view>{{ array[pickerIndex] || "请选择" }}</view>
          </picker>
        </t-td>
      </t-tr>
      <t-tr>
        <t-td>合格数量</t-td>
        <t-td
          ><input
            
            type="number"
            v-model="fillInObj.qualifiedQty"
        /></t-td>
      </t-tr>
      <t-tr>
        <t-td>不合格数量</t-td>
        <t-td
          ><input
            
            type="number"
            v-model="fillInObj.unqualifiedQty"
        /></t-td>
      </t-tr>
      <t-tr>
        <t-td style="color: red">比例(%)</t-td>
        <t-td><input type="" type="number" v-model="fillInObj.scale" /></t-td>
      </t-tr>
      <t-tr>
        <t-td>不良原因</t-td>
        <t-td
          ><uni-data-select
            v-model="fillInObj.poorReason"
            :localdata="reasonArr"
          ></uni-data-select
        ></t-td>
      </t-tr>
      <t-tr>
        <t-td>不良描述</t-td>
        <t-td
          ><uni-easyinput
            type="textarea"
            v-model="fillInObj.poorMemo"
          ></uni-easyinput
        ></t-td>
      </t-tr>
    </t-table>
    <view class="buttonBox"
      ><button
        class="button"
        type="primary"
        :disabled="!(Object.keys(tableObj).length > 1)"
        @click="submitClick"
      >
        保存
      </button></view
    >
  </ifrm>
</template>

<script>
import ifrm from "@/pages/index/ifrm";
import tTable from "@/components/t-table/t-table.vue";
import tTh from "@/components/t-table/t-th.vue";
import tTr from "@/components/t-table/t-tr.vue";
import tTd from "@/components/t-table/t-td.vue";
import scan from "../../mixin/scan.js";
export default {
  mixins: [scan],
  components: {
    ifrm,
    tTable,
    tTh,
    tTr,
    tTd,
  },
  data() {
    return {
      value: "",
      tableObj: {
        makeQty: null,
      },
      fillInObj: {
        qualifiedQty: null,
        unqualifiedQty: null,
        poorReason: "",
        poorMemo: "",
      },
      pickerIndex: null,
      array: ["合格", "不合格", "NA"],
      reasonArr: [],
    };
  },
  onLoad() {
    this.reasonArr = [];
    uni.showLoading({
      title: "加载中...",
    });
    this.$u.api.dictionaryNew({ code: "defective_cause" }).then((res) => {
      let data = res.data;
      data.forEach((item) => {
        this.reasonArr.push({
          value: item.dictKey,
          text: item.dictValue,
        });
        uni.hideLoading();
      });
    });
    // this.$ajax.request({
    //   url: "comBox/product/queryPoorReason",
    //   method: "POST",
    //   data: {
    //     filterValue: null,
    //     paging: {
    //       pageSize: 9999999,
    //       pageNumber: 1,
    //     },
    //     baseParams: {},
    //   },
    //   success: (data) => {
    // data.list.forEach((item) => {
    //   this.reasonArr.push({
    //     value: item.bcId,
    //     text: item.name,
    //   });
    // });
    //   },
    // });
  },
  methods: {
    bindPickerChange: function (e) {
      if (e.detail.value == 1) {
        this.fillInObj.unqualifiedQty = this.tableObj.makeQty;
        this.fillInObj.qualifiedQty = 0;
      } else {
        this.fillInObj.unqualifiedQty = 0;
        this.fillInObj.qualifiedQty = this.tableObj.makeQty;
      }
      this.pickerIndex = e.detail.value;
    },
    getBarCode(code) {
      this.getData(code);
    },
    proConfrim(e) {
      uni.showLoading({
        title: "加载中...",
      });
      this.getBarCode(e.target.value);
    },
    getData(code) {
      if (!code) return;
      this.value = code;
      this.$u.api
        .loadProTest({ cardNo: code })
        .then((res) => {
          let data = res.data;
          this.value = "";
          this.tableObj = data;
          this.pickerIndex = 0;
          this.fillInObj = {
            unqualifiedQty: 0,
            qualifiedQty: this.tableObj.makeQty,
            poorReason: "",
            poorMemo: "",
          };
          uni.showToast({
            title: "数据获取成功",
          });
          uni.hideLoading();
        })
        .catch((err) => {});
      //   this.$ajax.request({
      //     url: "pdaLoad/loadProTest/" + code,
      //     method: "GET",
      //     success: (data) => {
      //   this.value = "";
      //   this.tableObj = data.pdaProRelevant;
      //   this.pickerIndex = 0;
      //   this.fillInObj = {
      //     unqualifiedQty: 0,
      //     qualifiedQty: this.tableObj.makeQty,
      //     poorReason: "",
      //     poorMemo: "",
      //   };
      //   uni.showToast({
      //     title: "数据获取成功",
      //   });
      //     },
      //   });
    },
    submitClick() {
      const num =
        Number(this.fillInObj.unqualifiedQty) +
        Number(this.fillInObj.qualifiedQty);
      if (num > this.tableObj.makeQty) {
        return uni.showToast({
          title: "合格与不合格数量之和不能大于检验数量",
          icon: "none",
        });
      }
      if (this.pickerIndex == 1) {
        if (this.fillInObj.poorReason == "" || this.fillInObj.poorMemo == "") {
          return uni.showToast({
            title: "请填写原因或描述！！！",
            icon: "none",
          });
        }
      }
      if (
        Number(this.fillInObj.scale) > 100 ||
        Number(this.fillInObj.scale) < 0
      ) {
        return uni.showToast({
          title: "比例所填值的范围在 0~100!!!",
          icon: "none",
        });
      }
      uni.showLoading({
        title: "加载中...",
      });
      this.fillInObj.checkResult = this.pickerIndex + 1;
      this.fillInObj.makeQty = this.tableObj.makeQty;
      this.fillInObj.wpId = this.tableObj.wpId;
      this.$u.api.saveProCheck(this.fillInObj).then((res) => {
        uni.showToast({
          title: "检验成功",
        });
        this.pickerIndex = null;
        this.tableObj = {
          makeQty: null,
        };
        this.fillInObj = {
          qualifiedQty: null,
          unqualifiedQty: null,
          poorReason: "",
          poorMemo: "",
        };
        this.value = "";
        uni.hideLoading();
      });
      //   this.$ajax.request({
      //     url: "pdaSave/saveProCheck",
      //     method: "POST",
      //     data: this.fillInObj,
      //     success: (data) => {
      //   uni.showToast({
      //     title: "检验成功",
      //   });
      //   this.pickerIndex = null;
      //   this.tableObj = {
      //     makeQty: null,
      //   };
      //   this.fillInObj = {
      //     qualifiedQty: null,
      //     unqualifiedQty: null,
      //     poorReason: "",
      //     poorMemo: "",
      //   };
      //   this.value = "";
      //     },
      //   });
    },
  },
  onNavigationBarButtonTap(btn) {
    this.$refs.ifrm.topMenuClick(btn);
  },
  onShow() {},
};
</script>

<style scoped>
.tabsBox {
  margin-top: 40rpx;
}

.contentBox {
}
</style>