/*
  @description: 立项公共方法
  @Modifier: haoFx/肖文龙
  @routerPath:
  @date: 2019/12/22-14:41
*/
export const bidProjectCommon = {
  props: {
    // 接收步骤条父页面信息
    projectData: {
      type: Object,
      default: function() {
        return {
          id: '',
          qualificationMethod: '', // 00资格预审 01资格后审
          tenderOrgMethod: '', // 组织形式 01 委托招标 00 自主招标
          agentServiceFeeMethod: '', // 招标代理服务费收取方式 差额定率累进制00 固定金额01 固定比例02
          isProcurementPlan: '' // 修改父组件传给是否有招标计划 00 否 01是
        }
      }
    }
  },
  data() {
    return {
      bidProjectSystemSourceType: this.$store.getters.systemConfigSourceVo.systemSourceType,
      isShowAgencyInfo: true, // 根据当前登录人的roleCode控制招标代理机构是否显示
      roleCode: this.$store.state.user.info.currentRol.roleCode, // 当前角色 10 采购人 11代理机构
      // 上传附件参数
      upLoadData: {
        bizId: '', // 业务主键Id
        fileType: 'winService_winServiceFile_base'// 文件类型
      },
      buyersNameLabel: '招标人',
      tenderMethodType: ''// 区分菜单列表类型 00招标立项 89招标谈判 67招标询比 23磋商 04单一来源
    }
  },
  watch: {
    // 监听vuex 系统来源
    '$store.getters.systemConfigSourceVo': {
      deep: true,
      handler: function(val) {
        this.bidProjectSystemSourceType = val.systemSourceType
      }
    },
    'projectData.qualificationMethod'() {
      this.handleConfig()
    }
  },
  created() {
    // 编辑接收父组件传入的this.projectData.id 否则取params
    this.upLoadData.bizId = this.projectData.id ? this.projectData.id : (this.$route.params.id)
    if (this.$route.query.id) this.upLoadData.bizId = this.$route.query.id // 传参方式都改完删除
  },
  mounted() {
    this.handleConfig()
  },
  methods: {
    handleConfig() {
      // 获取组织形式信息
      const projectInfo = JSON.parse(sessionStorage.getItem('projectInfo')) || this.projectData
      if (projectInfo) {
        // 根据组织形式设置相关机构页面展示
        if (projectInfo.tenderOrgMethod === '00') { //  自行招标
          this.isShowAgencyInfo = false// 不展示《招标代理机构》
        }
        if (projectInfo.tenderOrgMethod === '01') { // 委托招标
          this.isShowAgencyInfo = true // 展示《招标代理机构》
        }
        // hn && 委托招标 && 项目经理 则显示多招标人
        if (this.bidProjectSystemSourceType && this.isShowAgencyInfo && this.roleCode === '11') {
          this.buyersNameLabel = '招标人（主）'
        } else {
          this.buyersNameLabel = '招标人'
        }
        const sessionTenderMethodType = sessionStorage.getItem('tenderMethodType')
        this.tenderMethodType = sessionTenderMethodType || this.$route.query.tenderMethod || this.$route.params.tenderMethod
      }
    }
  }
}
