import Api from '~/service/Api';
import commonFunctions from '~/mixin/commonFunctions.js';
import operationFunc from '../../../../mixin/operationFunc';

export default {
  mixins: [commonFunctions, operationFunc],
  methods: {
    formSubmit() {
      this.handleSearch();
    },
    currentChange(num) {
      this.pagination.pageNum = num;
      this.formSubmit();
    },
    handleSearch() {
      // 前端检验
      this.$refs["limp0Form"].validate((valid) => {
        if (valid) {
          const loading = this.loading();
          Api.post("/business/inflsb/queryInflsb", {
            ...this.model,
            pageNum: this.pagination.pageNum,
            pageSize: this.pagination.pageSize
          }).then(rtnmsg => {
            loading.close();
            if (rtnmsg.respCode == SUCCESS) {
              this.feptableData = rtnmsg.data;
              this.pagination = {
                pageNum: rtnmsg.data.pageNum || 1,
                pageSize: rtnmsg.data.pageSize || 10,
                total: rtnmsg.data.total
              };
            }
          })
        } else {
          // 前端校验失败
          this.$notify({
            title: this.$t('bus.失败'),
            message: this.$t('bus.校验失败'),
            type: 'error',
          });
          return false;
        }
      });
    },
    async handleSearch1() {
       // 前端检验
       this.$refs["limp1Form"].validate((valid) => {
        if (valid) {
      const loading = this.loading();
      Api.post("/business/inflsb/queryInflsb1", {
        ...this.model,
        pageNum: this.pagination.pageNum,
        pageSize: this.pagination.pageSize
      }).then(rtnmsg => {
        loading.close();
      if (rtnmsg.respCode == SUCCESS) {
        this.feptableData1 = rtnmsg.data;
        this.pagination = {
          pageNum: rtnmsg.data.pageNum || 1,
          pageSize: rtnmsg.data.pageSize || 10,
          total: rtnmsg.data.total
        };
      }
    })
  } else {
    // 前端校验失败
    this.$notify({
      title: this.$t('bus.失败'),
      message: this.$t('bus.校验失败'),
      type: 'error',
    });
    return false;
  }
});
},
    async handleSearch2() {
      const loading = this.loading();
      let rtnmsg = await Api.post("/business/inflsb/queryInflsb2", {
        ...this.model,
        pageNum: this.pagination.pageNum,
        pageSize: this.pagination.pageSize
      });
      if (rtnmsg.respCode == SUCCESS) {
        this.feptableData2 = rtnmsg.data;
        this.pagination = {
          pageNum: rtnmsg.data.pageNum || 1,
          pageSize: rtnmsg.data.pageSize || 10,
          total: rtnmsg.data.total
        };
      }
      loading.close();
    },
    // 获取记账机构下拉列表
    async queryOrgList() {
      const loading = this.loading();
      let res = await Api.post('/business/userinfo/user/getAccBchList', {
        bchkeyinr: this.model.limpan.branch
      });
      loading.close();
      if (res.respCode === SUCCESS) {
        this.model.markOrgList = res.data;
        if (this.model.markOrgList.length == 1) {
          this.model.limpan.branch = this.model.markOrgList[0].inr;
        }
      }
    },
    onLimsta(){
      let modifyList = this.model.limpan.modifySet
      if (!modifyList || (!!modifyList && !modifyList.includes('limpan.limsta'))) {
        this.model.limpan.limsta = '01'
    }
  },
  onPtytyp(){
    if(this.model.limpan.ptytyp == '1'){
      this.model.limpan.swiftno=""
    } 
    this.$nextTick(() => {
      this.$refs['limp0Form'].validateField(['limpan.branch']);
    })
  },
  onPtynam(){
    const loading = this.loading();
    Api.post("/business/inflsb/queryNam", {...this.model}).then(rtnmsg => {
      loading.close();
    if (rtnmsg.respCode == SUCCESS) {
      this.model.limpan.ptyname = rtnmsg.data;
    }
  })
  },
  onExtkey(){
    this.onPtynam(),
    this.$nextTick(() => {
      this.$refs['limp0Form'].validateField(['limpan.ownref','limpan.swiftno']);
    })
  },
  onOwnref(){
    this.$nextTick(() => {
      this.$refs['limp0Form'].validateField(['limpan.extkey','limpan.swiftno']);
    })
  },
  onSwifino(){
    this.onPtynam(),
    this.$nextTick(() => {
      this.$refs['limp0Form'].validateField(['limpan.extkey','limpan.ownref']);
    })
  }
}
};