<!--
 * @Description: 补充说明组件
 * @Author: gmy
 * @Date: 2020-08-4 19:59:15
-->
<template>
  <table :class="!otherData.isEdit?'tableData':'from_table'">
    <tr class="singleRow">
      <td>
        <p v-if="!otherData.isEdit">
          采购文件
        </p>
        <el-form-item v-else label="采购文件" :rules="rules.principalFile" prop="principalFile" />
      </td>
      <td>
        <!-- isEdit 是否显示变更后采购文件的上传权限 布尔值 默认false不显示 true显示-->
        <downloadFile v-if="!otherData.isEdit" :data="procurementFile" />
        <upload
          v-else
          ref="principalFileUpload"
          :title="''"
          :on-change="principalFile"
          :data="procurementFile"
          :auto-delete="true"
          :auto-upload="true"
          :success="successdata"
          :file-size="200"
          tip-text="上传附件格式（*.doc;*.docx;*.pdf;*.png;*.jpg;*.zip;*.jpeg;*.txt;*.xlsx;*.xls;*.ppt;*.pptx;*.rar）单个文件不得超过200M"
          accept=".doc,.docx,.pdf,.png,.jpg,.zip,.jpeg,.txt,.xlsx,.xls,.ppt,.pptx,.rar"
          file-ref="fileRef"
          but-text="点击上传"
        />
      </td>
    </tr>
    <!--公开附件-->
    <tr class="singleRow">
      <td>
        公开附件
      </td>
      <td>
        <!-- isEdit 是否显示变更后公开附件的上传权限 布尔值 默认false不显示 true显示-->
        <downloadFile v-if="!otherData.isEdit" :data="openTenderProjectFileType" />
        <upload
          v-else
          ref="upload"
          title=""
          :data="openTenderProjectFileType"
          :auto-delete="true"
          :auto-upload="true"
          :file-size="200"
          tip-text="上传附件格式（*.doc;*.docx;*.pdf;*.png;*.jpg;*.zip;*.jpeg;*.txt;*.xlsx;*.xls;*.ppt;*.pptx;*.rar）单个文件不得超过200M"
          accept=".doc,.docx,.pdf,.png,.jpg,.zip,.jpeg,.txt,.xlsx,.xls,.ppt,.pptx,.rar"
          file-ref="fileRef"
          but-text="点击上传"
        />
      </td>
    </tr>
    <!--公告备注  -->
    <tr class="singleRow">
      <td>
        公告备注
      </td>
      <td>
        <!-- isEdit 是否显示变更后备注的编辑权限 布尔值 默认false不显示 true显示编辑-->
        <span v-if="!otherData.isEdit"> {{ saveNoticeData.mattersNeedingAttention }}</span>
        <el-input
          v-else
          v-model="saveNoticeData.mattersNeedingAttention"
          :autosize="{ minRows: 3, maxRows: 3 }"
          type="textarea"
          maxlength="800"
          show-word-limit
          style="width: 96%"
          placeholder="允许输入800个汉字，1600个字符"
        />
      </td>
    </tr>
  </table>
</template>

<script>
// api
import { procurementProcfileTakeEffect } from '@/api/procurement/procurementProtdoc'
/* 公共方法*/
import { randomData } from '@assets/js/utils' // 随机生成uid
/* 混合开发-参数字段*/
import { procurementProjectGroupMixin } from '../mixins/procurementProjectGroupMixin'// 立项采购-字典
import { procurementProjectMixins } from '../mixins/procurementProjectMixins'
/* 公共组件*/
import downloadFile from '@comp/common/updownload/downloadFile'
import upload from '@comp/common/updownload/upload' // 文件上传组件
export default {
  components: {
    downloadFile, // 文件回显
    upload // 文件上传组件
  },
  mixins: [procurementProjectGroupMixin, procurementProjectMixins],
  props: {
    saveNoticeData: {
      type: Object,
      default: () => {
        return {}
      }
    },
    // 采购文件主键id 使用工具字段
    loadProcurementFile: {
      type: Function,
      default: function() {}
    },
    // 其他数据
    otherData: {
      type: Object,
      default: () => {
        return {
          isEdit: false, // 是否显示变更后的数据 默认false
          newBizId: ''
        }
      }
    }
  },
  data() {
    return {
      updataFilesData: {
        id: '', // 采购文件生效时的id
        makeWay: '', // 选择工具的字段
        tenderId: '', // 项目id
        packIds: '' // 标段id
      },
      // 校验输入内容
      rules: {
        principalFile: [{ required: true, message: '请上传', trigger: 'change' }]// 法人/负责人身份证号或护照号
      }
    }
  },
  watch: {
    // 监听变更情况
    otherData: {
      handler(val, old) {
        if (val.isEdit) {
          // 获取变更时的bizId
          this.procurementFile.bizId = this.otherData.newBizId
        }
      },
      deep: true
    },
    // 监听采购公告id
    'saveNoticeData.id'(val) {
      if (val) {
        this.giveFileData.bizId = this.saveNoticeData.id
      }
    }
  },
  created() {
    // 获取补充说明信息
    this.getSupplementInfo()
  },
  methods: {
    // 采购文件附件上传
    principalFile() { // 判断是否有文件上传
      const fileList = this.$refs.principalFileUpload.fileList
      if (fileList.length > 0) { // 上传了
        this.$emit('fileListType', 'true')
      } else { // 未上传
        this.$emit('fileListType', '')
      }
    },
    // 文件上传成功的回调
    successdata(file) {
      // 调用文件生效的方法
      // this.setfileTakeEffect(this.updataFilesData)
    },
    // 文件生效
    setfileTakeEffect(updataFilesData) {
      procurementProcfileTakeEffect(updataFilesData).then(res => {
      }).catch(() => {})
    },
    // 获取采购文件
    async getSupplementInfo() {
      const { id, makeWay, tenderId, packId } = await this.loadProcurementFile()
      this.procurementFile.bizId = id || randomData() // 采购文件业务id
      this.updataFilesData.id = id || randomData() // 公告id
      this.updataFilesData.makeWay = makeWay // 是否使用
      this.updataFilesData.tenderId = tenderId // 项目id
      this.updataFilesData.packIds = packId // 标段id
      this.openTenderProjectFileType.bizId = tenderId // 公开附件的项目id
    }
  }
}
</script>

<style>

</style>
