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: '失败',
            message: '校验失败',
            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: '失败',
      message: '校验失败',
      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;
        }
      }
    },
    async getdbCode(codeType, uil, codeNam) {
      let params = {
        codeType: codeType,
        uil: uil ? uil : 'EN'
      }
      let rtnmsg = await Api.post("/manager/dic/listDicInfo", params)
      if (rtnmsg.respCode === SUCCESS) {
        let curList = rtnmsg.data.map(item => ({
          value: item.codeValue,
          label: item.codeName
        }));
        this.model.dbCodes[codeNam] = curList
      }
    },
    async getdbCodeValue(codeType, uil, codeNam) {
      let params = {
        codeType: codeType,
        uil: uil ? uil : 'EN'
      }
      let rtnmsg = await Api.post("/manager/dic/listDicInfo", params)
      if (rtnmsg.respCode === SUCCESS) {
        let curList = rtnmsg.data.map(item => ({
          value: item.codeName,
          label: item.codeValue
        }));
        this.model.dbCodes[codeNam] = curList
      }
    },
    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']);
    })
	},
	onDoubleClick(row){
		console.log(row.tbxx04);
		this.model.lsbDetailVo.edmxbh=row.tbxx04;
		this.model.lsbDetailVo.fhyhao="1";
		this.model.lsbDetailVo.mytshu="10";
		this.searchLimDetail();
		this.$refs.lsbdtDialog.dialogflg = true;
	},
	async searchLimDetail() {
		const loading = this.loading("正在查询额度业务明细...");
		let rtnmsg = await Api.post("/business/inflsb/queryInflsbDetail", {
			...this.model
		});
		if (rtnmsg.respCode == SUCCESS) {
			this.model.lsbDetailVo = rtnmsg.data.lsbDetailVo;
		}
		loading.close();
	},
}
};