<template xmlns:v-slot="http://www.w3.org/1999/XSL/Transform">
  <div>
    <el-row>
      <el-col :span="24">

        <el-form size="middle" :model="inputForm" ref="inputForm" v-loading="loading" :class="method==='view'?'readonly':''"  :disabled="formReadOnly"
                 label-width="135px" @submit.native.prevent>
          <el-row  :gutter="15">
            <el-col :span="12">
              <el-form-item label="单据编号" prop="documentNo"
                            :rules="[

                   ]">
                <el-input :disabled="true" v-model="inputForm.documentNo" placeholder="自动生成" clearable></el-input>
              </el-form-item>
            </el-col>
            <el-col :span="12">
              <el-form-item label="项目名称" prop="projectName"
                            :rules="[
                              {required: true, message:'项目名称不能为空', trigger:'blur'},
                              {required: true, message:'项目名称不能为空', trigger:'change'}
                   ]">
<!--                <el-input v-model="inputForm.projectName" placeholder="请填写项目名称" clearable></el-input>-->
                <el-input size="medium" :readonly="true" @focus="openContractForm()" v-model="inputForm.projectName" placeholder="请选择项目名称">
                  <el-button slot="append" icon="el-icon-search" @click="openContractForm()"></el-button>
                </el-input>
              </el-form-item>
            </el-col>
            <el-col :span="12">
              <el-form-item label="项目编号" prop="projectNumber"
                            :rules="[
                   ]">
                <el-input :disabled="true" v-model="inputForm.projectNumber" placeholder="请填写项目编号" clearable></el-input>
              </el-form-item>
            </el-col>
            <el-col :span="12">
              <el-form-item label="报告所属部门" prop="officeId"
                            :rules="[
                   ]">
                <SelectTree
                  ref="officeTree"
                  :props="{
                  value: 'id',             // ID字段名
                  label: 'name',         // 显示名称
                  children: 'children'    // 子级字段名
                }"

                  :url="`/sys/office/treeData?type=2`"
                  :value="inputForm.officeId"
                  :accordion="true"
                  @getValue="(value) => {inputForm.officeId=value}"/>
<!--                <el-input v-model="inputForm.officeId" placeholder="请填写报告所属部门" clearable></el-input>-->
              </el-form-item>
            </el-col>

            <el-col :span="12">
              <el-form-item label="项目经理" prop="projectMasterId"
                            :rules="[
                   ]">
                <el-input :disabled="true" v-model="inputForm.projectMasterId" placeholder="请填写项目经理" clearable></el-input>
              </el-form-item>
            </el-col>

            <el-col v-if="inputForm.signatureType === '1' || commonJS.isEmpty(inputForm.signatureType)" :span="12">
              <el-form-item label="签字注师1" prop="signatureAnnotator1"
                            :rules="[
                   ]">
<!--                <el-input v-model="inputForm.signatureAnnotator1" placeholder="请填写签字注师1" clearable></el-input>-->
                <UserSelect size="medium" ref="userSelect1" :disabled="formReadOnly" :readonly="true" :limit='10' :value="inputForm.signatureAnnotator1" @getValue='(value) => {changeSignatory1(value)}'></UserSelect>
              </el-form-item>
            </el-col>

            <el-col v-if="inputForm.signatureType === '1' || commonJS.isEmpty(inputForm.signatureType)" :span="12">
              <el-form-item label="签字注师2" prop="signatureAnnotator2"
                            :rules="[
                   ]">
<!--                <el-input v-model="inputForm.signatureAnnotator2" placeholder="请填写签字注师2" clearable></el-input>-->
                <UserSelect size="medium" ref="userSelect2" :disabled="formReadOnly" :readonly="true" :limit='10' :value="inputForm.signatureAnnotator2" @getValue='(value) => {changeSignatory2(value)}'></UserSelect>
              </el-form-item>
            </el-col>

            <el-col v-if="inputForm.signatureType === '2'" :span="12">
              <el-form-item label="签字注师1" prop="signatureAnnotator1"
                            :rules="[
                              {required: true, message:'签字注师1不能为空', trigger:'blur'}
                   ]">
                <!--                <el-input v-model="inputForm.signatureAnnotator1" placeholder="请填写签字注师1" clearable></el-input>-->
                <UserSelect size="medium" ref="userSelect1" :disabled="formReadOnly" :readonly="true" :limit='10' :value="inputForm.signatureAnnotator1" @getValue='(value) => {changeSignatory1(value)}'></UserSelect>
              </el-form-item>
            </el-col>

            <el-col v-if="inputForm.signatureType === '2'" :span="12">
              <el-form-item label="签字注师2" prop="signatureAnnotator2"
                            :rules="[
                              {required: true, message:'签字注师2不能为空', trigger:'blur'}
                   ]">
                <!--                <el-input v-model="inputForm.signatureAnnotator2" placeholder="请填写签字注师2" clearable></el-input>-->
                <UserSelect size="medium" ref="userSelect2" :disabled="formReadOnly" :readonly="true" :limit='10' :value="inputForm.signatureAnnotator2" @getValue='(value) => {changeSignatory2(value)}'></UserSelect>
              </el-form-item>
            </el-col>

            <el-col :span="12">
              <el-form-item label="盖章类型" prop="signatureType"
                            :rules="[
                   ]">
<!--                <el-input v-model="inputForm.signatureType" placeholder="请填写盖章类型" clearable></el-input>-->
                <el-select v-model="inputForm.signatureType" placeholder="请选择盖章类型" clearable style="width: 100%;">
                  <el-option
                    v-for="item in $dictUtils.getDictList('cw_signature_type')"
                    :key="item.value"
                    :label="item.label"
                    :value="item.value">
                  </el-option>
                </el-select>
              </el-form-item>
            </el-col>

            <el-col :span="12">
              <el-form-item label="创建时间" prop="createDate"
                            :rules="[
                   ]">
                <el-input :disabled="true" v-model="inputForm.createDate" placeholder="请填写创建时间" clearable></el-input>
              </el-form-item>
            </el-col>

          </el-row>
        </el-form>
        <el-tabs v-model="activeName" type="border-card" @tab-click="tabHandleClick">
          <el-tab-pane label="报告信息列表" name="newRow">
            <el-button type="primary" style="margin-bottom: 15px" size="mini" :disabled="formReadOnly" @click="openWorkClient"
                       v-if="inputForm.projectName !== '' & inputForm.projectName !== undefined"
            >
              新增行
            </el-button>
<!--            <el-button v-if="hasPermission('cw:reportManagement:del')" type="text" size="small" @click="del()">删除</el-button>-->
            <el-row  :gutter="15">
              <el-form :disabled="formReadOnly">
                <vxe-table
                  border
                  show-overflow
                  show-footer
                  :column-config="{resizable: true}"
                  ref="clientTable"
                  :key="tableKeyClient"
                  class="vxe-table-element"
                  :data="inputForm.cwProjectInfoList"
                  style=""
                  @cell-click=""
                  @edit-closed=""
                  highlight-current-row
                  :edit-config="{trigger: 'click', mode: 'row', showStatus: false, autoClear: false}"
                >
                  <vxe-table-column type="seq" align="center" width="80" title="序号"></vxe-table-column>
                  <vxe-table-column align="center" field="servedUnitName" title="被服务单位" :edit-render="{}">
                    <template v-slot:edit="scope">
                      <el-input :readonly="true" v-model="scope.row.servedUnitName" placeholder="被服务单位" clearable></el-input>
                    </template>
                  </vxe-table-column>
                  <vxe-table-column align="center" field="reportDate" title="报告日期" :edit-render="{}">
                    <template v-slot:edit="scope">
                      <el-date-picker
                        v-model="scope.row.reportDate"
                        type="date"
                        value-format="yyyy-MM-dd"
                        placeholder="选择报告日期"
                        style="width:100%"
                        placement="bottom-start"
                        clearable>
                      </el-date-picker>
<!--                      <el-input :readonly="true" v-model="scope.row.reportDate" placeholder="报告日期" clearable></el-input>-->
                    </template>
                  </vxe-table-column>
                  <vxe-table-column align="center" field="reportType" title="报告类型" :edit-render="{}">
                    <template v-slot:edit="scope">
                      <el-select v-model="scope.row.reportType" placeholder="请选择报告类型" clearable style="width: 100%;">
                        <el-option
                          v-for="item in $dictUtils.getDictList('cw_report_type')"
                          :key="item.value"
                          :label="item.label"
                          :value="item.value">
                        </el-option>
                      </el-select>
<!--                      <el-input v-model="scope.row.reportType" placeholder="报告类型" clearable></el-input>-->
                    </template>
                  </vxe-table-column>
                  <vxe-table-column align="center" field="reportNumber" title="报告流水号" :edit-render="{}">
                    <template v-slot:edit="scope">
                      <el-input :readonly="true" v-model="scope.row.reportNumber" placeholder="报告流水号" clearable></el-input>
                    </template>
                  </vxe-table-column>
                  <vxe-table-column align="center" field="reportNo" title="报告文号" :edit-render="{}">
                    <template v-slot:edit="scope">
                      <el-input :readonly="true" v-model="scope.row.reportNo" placeholder="报告文号" clearable></el-input>
                    </template>
                  </vxe-table-column>
                  <vxe-table-column align="center" field="issueReport" title="是否出具报告" :edit-render="{}">
                    <template v-slot:edit="scope">
                      <el-input :readonly="true" v-model="scope.row.issueReport" placeholder="是否出具报告" clearable></el-input>
                    </template>
                  </vxe-table-column>
                  <vxe-table-column align="center" field="opinionType" title="意见类型" :edit-render="{}">
                    <template v-slot:edit="scope">
                      <el-select v-model="scope.row.opinionType" placeholder="请选择意见类型" clearable style="width: 100%;">
                        <el-option
                          v-for="item in $dictUtils.getDictList('cw_opinion_type')"
                          :key="item.value"
                          :label="item.label"
                          :value="item.value">
                        </el-option>
                      </el-select>
<!--                      <el-input :readonly="true" v-model="scope.row.opinionType" placeholder="意见类型" clearable></el-input>-->
                    </template>
                  </vxe-table-column>
                  <vxe-table-column align="center" field="sealType" title="盖章状态" :edit-render="{}">
                    <template v-slot:edit="scope">
                      <el-input :readonly="true" v-model="scope.row.sealType" placeholder="盖章状态" clearable></el-input>
                    </template>
                  </vxe-table-column>
                  <vxe-table-column align="center" field="fileNumber" title="文件数" :edit-render="{}">
                    <template v-slot:edit="scope">
                      <el-input :readonly="true" v-model="scope.row.fileNumber" placeholder="文件数" clearable></el-input>
                    </template>
                  </vxe-table-column>
                  <vxe-table-column align="center" title="操作" width="300">
                    <template v-slot="scope">
                      <el-button size="mini" type="danger" @click="removeEvent(scope.row,scope.$rowIndex,'client')">删除</el-button>
                      <el-button size="mini" type="primary" @click="sss(scope.$rowIndex)">上传附件</el-button>
                      <el-button size="mini" :disabled="false" type="primary" @click="seeFileInfo(scope.$rowIndex)">查看文件详情</el-button>
                    </template>
                  </vxe-table-column>
                </vxe-table>
              </el-form>
            </el-row>
          </el-tab-pane>


        </el-tabs>
      </el-col>
    </el-row>
    <UpLoadComponentDialog ref="upLoadComponentDialog" @getUpload="getUpload"></UpLoadComponentDialog>
    <ProjectInfoForm  ref="projectInfoForm" @getContract="getContract"></ProjectInfoForm>
    <ReportServiceUnitForm ref="reportServiceUnitForm" @getWorkClientChoose="getWorkClientChoose"></ReportServiceUnitForm>
  </div>
</template>

<script>
  import UpLoadComponent from '@/views/common/UpLoadComponent'
  import SelectUserTree from '@/views/modules/utils/treeUserSelect'
  import SelectTree from '@/components/treeSelect/treeSelect.vue'
  import UserSelect from '../workClientInfo/clientUserSelect'
  import ProjectRecordsService from '@/api/cw/projectRecords/ProjectRecordsService'
  import ProjectReportService from '@/api/cw/reportManagement/ProjectReportService'
  import EnterpriseSearchService from '@/api/cw/common/EnterpriseSearchService'
  // import WorkClientChooseForm from '../workClientInfo/WorkClientChooseForm'
  import ReportServiceUnitForm from './ReportServiceUnitForm'
  import UpLoadComponentDialog from '@/views/common/UpLoadComponentDialog'
  import ProjectInfoForm from './ProjectInfoForm'
  export default {
    props: {
      businessId: {
        type: String,
        default: ''
      },
      formReadOnly: {
        type: Boolean,
        default: false
      },
      status: {
        type: String,
        default: ''
      }
    },
    data () {
      return {
        title: '',
        method: '',
        loading: false,
        inputForm: {
          projectId: '',
          id: '',
          createDate: '',
          createBy: {
            id: '',
            name: JSON.parse(localStorage.getItem('user')).name
          },
          remarks: '',
          documentNo: '',
          projectName: '',
          projectNumber: '',
          officeId: '',
          signatureAnnotator1: '',
          signatureAnnotator2: '',
          signatureType: '',
          projectMasterId: '',
          cwProjectInfoList: [],
          cwFileInfoList: [],
          servedUnitId: ''
        },
        keyWatch: '',
        activeName: 'newRow',
        tableKey: '',
        tableKeyClient: '1'
      }
    },
    projectRecordsService: null,
    ProjectReportService: null,
    enterpriseSearchService: null,
    created () {
      this.enterpriseSearchService = new EnterpriseSearchService()
      this.projectRecordsService = new ProjectRecordsService()
      this.projectReportService = new ProjectReportService()
    },
    computed: {
      bus: {
        get () {
          // this.$refs.uploadComponent.setDividerName('附件', false)
          return this.businessId
        },
        set (val) {
          this.businessId = val
        }
      }
    },
    watch: {
      'keyWatch': {
        handler (newVal) {
          if (this.commonJS.isNotEmpty(this.bus)) {
            this.init('', this.bus)
          } else {
            this.$nextTick(() => {
              this.$refs.inputForm.resetFields()
            })
          }
        }
      }
    },
    components: {
      SelectUserTree,
      UpLoadComponent,
      SelectTree,
      UserSelect,
      ReportServiceUnitForm,
      ProjectInfoForm,
      UpLoadComponentDialog
    },
    methods: {
      seeFileInfo (index) {
        if (this.commonJS.isEmpty(this.inputForm.cwProjectInfoList[index].cwFileInfoList)) {
          this.inputForm.cwProjectInfoList[index].cwFileInfoList = []
        }
        this.$refs.upLoadComponentDialog.newUpload(null, this.inputForm.cwProjectInfoList[index].cwFileInfoList, null, null, null, null, null, false, index)
      },
      sss (index) {
        if (this.commonJS.isEmpty(this.inputForm.cwProjectInfoList[index].cwFileInfoList)) {
          this.inputForm.cwProjectInfoList[index].cwFileInfoList = []
        }
        this.$refs.upLoadComponentDialog.newUpload(null, this.inputForm.cwProjectInfoList[index].cwFileInfoList, null, null, null, null, null, false, index)
      },
      getUpload (p, index) {
        p.then((list) => {
          // list为返回数据
          this.inputForm.cwProjectInfoList[index].cwFileInfoList = list
          this.inputForm.cwProjectInfoList[index].fileNumber = list.length
          this.tableKeyClient = Math.random()
          console.log('this.inputForm.cwFileInfoList', this.inputForm.cwFileInfoList)
          console.log('list.length', list.length)
          console.log(list)
        })
      },
      getKeyWatch (keyWatch) {
        this.keyWatch = keyWatch
      },
      // 删除
      // del (id) {
      //   let ids = id || this.$refs.clientTable.getCheckboxRecords().map(item => {
      //     return item.id
      //   }).join(',')
      //   this.$confirm(`确定删除所选项吗?`, '提示', {
      //     confirmButtonText: '确定',
      //     cancelButtonText: '取消',
      //     type: 'warning'
      //   }).then(() => {
      //     this.$refs.clientTable.remove(ids)
      //     // this.inputForm.cwProjectClientInfoDTOList.splice(ids, 1)
      //   })
      // },
      changeSignatory1 (value) {
        if (this.inputForm.signatureAnnotator2 === value && this.commonJS.isNotEmpty(value)) {
          this.$message.warning('首次发行签字注师1和首次发行签字注师2不可以相同')
          this.$nextTick(() => {
            this.inputForm.signatureAnnotator1 = ''
            this.$refs.userSelect1.changeNameValue('')
            this.$refs.userSelect1.clearSelectData()
            this.$forceUpdate()
          })
        } else {
          this.inputForm.signatureAnnotator1 = value
        }
      },
      changeSignatory2 (value) {
        if (this.inputForm.signatureAnnotator1 === value && this.commonJS.isNotEmpty(value)) {
          this.$message.warning('首次发行签字注师1和首次发行签字注师2不可以相同')
          this.$nextTick(() => {
            this.inputForm.signatureAnnotator2 = ''
            this.$refs.userSelect2.changeNameValue('')
            this.$refs.userSelect2.clearSelectData()
            this.$forceUpdate()
          })
        } else {
          this.inputForm.signatureAnnotator2 = value
        }
      },
      init (method, id) {
        this.activeName = 'newRow'
        this.projectRecordsService = new ProjectRecordsService()
        this.projectReportService = new ProjectReportService()
        this.method = method
        this.inputForm = {
          projectId: '',
          id: '',
          createDate: '',
          createBy: {
            id: '',
            name: JSON.parse(localStorage.getItem('user')).name
          },
          remarks: '',
          documentNo: '',
          projectName: '',
          officeId: '',
          projectNumber: '',
          signatureAnnotator1: '',
          signatureAnnotator2: '',
          signatureType: '',
          projectMasterId: '',
          cwProjectInfoList: []
        }
        this.inputForm.id = id
        this.loading = false
        this.$nextTick(() => {
          this.$refs.inputForm.resetFields()
          this.loading = true
          this.projectReportService.queryById(this.inputForm.id).then(({data}) => {
            // this.$refs.uploadComponent.clearUpload()
            this.inputForm = this.recover(this.inputForm, data)
            this.inputForm = JSON.parse(JSON.stringify(this.inputForm))
            if (this.commonJS.isEmpty(this.inputForm.createDate)) {
              this.inputForm.createDate = this.moment(new Date()).format('YYYY-MM-DD HH:mm:ss')
            }
            this.loading = false
          })
          // this.projectRecordsService.queryById(this.inputForm.id).then(({data}) => {
          //   // this.$refs.uploadComponent.clearUpload()
          //   this.inputForm = this.recover(this.inputForm, data)
          //   this.inputForm = JSON.parse(JSON.stringify(this.inputForm))
          //   if (this.commonJS.isEmpty(this.inputForm.createDate)) {
          //     this.inputForm.createDate = this.moment(new Date()).format('YYYY-MM-DD HH:mm:ss')
          //   }
          //   this.loading = false
          // })
        })
      },
      openContractForm () {
        if (!this.commonJS.isEmpty(this.inputForm.contractId)) {
          this.$refs.projectInfoForm.init(this.inputForm.contractId)
        } else {
          this.$refs.projectInfoForm.init()
        }
      },
      getContract (row) {
        console.log('row', row)
        this.inputForm.projectName = row.projectName // 项目名称
        this.inputForm.projectId = row.id // 项目id
        this.inputForm.projectNumber = row.projectNumber // 项目编号
        this.inputForm.projectMasterId = row.projectMasterName // 项目经理
        this.clearClientList()
        this.$forceUpdate()
        this.inputForm.cwProjectInfoList = []
      },
      clearClientList () {
        // 项目直接对接联系人列表清除
        this.inputForm.clientList = []
        this.$forceUpdate()
      },
      saveForm (callback) {
        this.doSubmit('save', callback)
      },
      startForm (callback) {
        this.doSubmit('start', callback)
      },
      async agreeForm (callback) {
        await this.projectReportService.queryById(this.inputForm.id).then(({data}) => {
          console.log('进来了看看data', data)
          if (data.status !== '2') { // 审核状态不是“待审核”，就弹出提示
            this.$message.error('任务数据已发生改变或不存在，请在待办任务中确认此任务是否存在')
            throw new Error()
          } else {
            this.doSubmit('agree', callback)
          }
        })
        // await this.projectRecordsService.queryById(this.inputForm.id).then(({data}) => {
        //   if (this.inputForm.status !== '2') { // 审核状态不是“待审核”，就弹出提示
        //     this.$message.error('任务数据已发生改变或不存在，请在待办任务中确认此任务是否存在')
        //     throw new Error()
        //   } else {
        //     this.doSubmit('agree', callback)
        //   }
        // })
      },
      // 表单提交
      doSubmit (status, callback) {
        if (status === 'save') {
          // 暂存
          this.inputForm.status = '1'
          this.loading = true
          // if (this.$refs.uploadComponent.checkProgress()) {
          //   this.loading = false
          //   return
          // }
          // this.inputForm.workAttachmentDtoList = this.$refs.uploadComponent.getDataList()
          this.inputForm.createDate = this.moment(new Date()).format('YYYY-MM-DD HH:mm:ss')
          // 验证报告 日期报告 类型是否出具报告 意见类型 是否为空
          // eslint-disable-next-line no-unused-expressions
          console.log('this.inputForm.cwProjectInfoList.reportDate', this.inputForm.cwProjectInfoList.reportDate)
          this.projectReportService.saveForm(this.inputForm).then(({data}) => {
            callback(data.businessTable, data.businessId, this.inputForm)
            this.loading = false
          }).catch(() => {
            this.loading = false
          })
          // this.projectRecordsService.saveForm(this.inputForm).then(({data}) => {
          //   callback(data.businessTable, data.businessId, this.inputForm)
          //   this.loading = false
          // }).catch(() => {
          //   this.loading = false
          // })
          return
        } else if (status === 'start') {
          // 送审  待审核
          this.inputForm.status = '2'
        } else if (status === 'agree') {
          // 审核同意
          this.inputForm.agreeDate = this.moment(new Date()).format('YYYY-MM-DD HH:mm:ss')
          this.inputForm.agreeUserId = this.$store.state.user.id
          this.inputForm.status = '5'
        }
        this.$refs['inputForm'].validate((valid) => {
          if (valid) {
            this.loading = true
            if (this.commonJS.isEmpty(this.inputForm.createDate)) {
              this.inputForm.createDate = this.moment(new Date()).format('YYYY-MM-DD HH:mm:ss')
            }
            this.projectReportService.saveForm(this.inputForm).then(({data}) => {
              console.log('businessTable', data.businessTable)
              console.log('businessId', data.businessId)
              callback(data.businessTable, data.businessId, this.inputForm)
              this.loading = false
            }).catch(() => {
              this.loading = false
            })
          }
        })
      },
      async updateStatusById (type) {
        if (type === 'reject' || type === 'reback') {
          // if (await this.$refs.uploadComponent.checkProgress()) {
          //   this.loading = false
          //   throw new Error()
          // }
          await this.projectReportService.queryById(this.inputForm.id).then(({data}) => {
            if (data.status !== '2') { // status的值不等于“审核中”就弹出提示
              this.$message.error('任务数据已发生改变或不存在，请在待办任务中确认此任务是否存在')
              throw new Error()
            } else {
              if (type === 'reject') {
                // 驳回
                this.inputForm.status = '4'
                let param = {status: '4', id: this.inputForm.id}
                this.projectReportService.updateStatusById(param)
                // this.projectRecordsService.updateStatusById(param)
              }
              if (type === 'reback') {
                // 撤回
                let param = {status: '3', id: this.inputForm.id}
                // this.projectRecordsService.updateStatusById(param)
                this.projectReportService.updateStatusById(param)
              }
            }
          })
          // await this.projectRecordsService.queryById(this.inputForm.id).then(({data}) => {
          //   if (data.status !== '2') { // status的值不等于“审核中”就弹出提示
          //     this.$message.error('任务数据已发生改变或不存在，请在待办任务中确认此任务是否存在')
          //     throw new Error()
          //   } else {
          //     if (type === 'reject') {
          //       // 驳回
          //       this.inputForm.status = '4'
          //       let param = {status: '4', id: this.inputForm.id}
          //       this.projectRecordsService.updateStatusById(param)
          //     }
          //     if (type === 'reback') {
          //       // 撤回
          //       let param = {status: '3', id: this.inputForm.id}
          //       // this.projectRecordsService.updateStatusById(param)
          //       this.projectReportService.updateStatusById(param)
          //     }
          //   }
          // })
        }
      },
      close () {
        this.inputForm = {
          id: '',
          createDate: '',
          createBy: {
            id: '',
            name: JSON.parse(localStorage.getItem('user')).name
          },
          remarks: '',
          documentNo: '',
          projectName: '',
          officeId: '',
          projectNumber: '',
          signatureAnnotator1: '',
          signatureAnnotator2: '',
          signatureType: '',
          projectMasterId: ''
        }
        // this.$refs.uploadComponent.clearUpload()
        this.$refs.inputForm.resetFields()
      },
      tabHandleClick (event) {
        // console.log(event)
      },
      // 删除
      removeEvent (row, rowIndex, type) {
        if (type === 'client') {
          this.$refs.clientTable.remove(row)
          this.inputForm.cwProjectInfoList.splice(rowIndex, 1)
        }
      },
      openWorkClient () {
        this.$refs.reportServiceUnitForm.init(this.inputForm.projectId)
      },
      getWorkClientChoose (list) {
        if (this.commonJS.isEmpty(this.inputForm.cwProjectInfoList)) {
          this.inputForm.cwProjectInfoList = []
        }
        let _this = this
        let _list = list
        const waitForEach = function () {
          return new Promise(function (resolve, reject) {
            _list.forEach((item) => {
              _this.inputForm.cwProjectInfoList.forEach(client => {
                if (item.id === client.servedUnitId) {
                  _this.$message.error('已存在客户 “' + client.servedUnitName + '”，请重新选择')
                  throw new Error('已存在客户 “' + client.servedUnitName + '”，请重新选择')
                }
              })
            })
            resolve()
          })
        }
        waitForEach().then(() => {
          list.forEach(item => {
            // eslint-disable-next-line no-unused-vars
            let d = {
              servedUnitName: item.name, // 被服务单位名称
              reportNumber: this.inputForm.projectNumber + '-0' + (this.inputForm.cwProjectInfoList.length + 1), // 报告流水号
              issueReport: '是',
              sealType: '未盖章',
              id: this.uuid,
              servedUnitId: item.id
            }
            console.log('新增行数据填入')
            console.log('item', item)
            console.log('d', d)
            this.$refs.clientTable.insertAt(d)
            this.inputForm.cwProjectInfoList.push(d)
            console.log('this.inputForm.cwProjectInfoList', this.inputForm.cwProjectInfoList)
            this.tableKeyClient = Math.random()
          })
        })
      }
    }
  }
</script>
<style scoped>
  /deep/ .el-input-number .el-input__inner {
    text-align: left;
  }
</style>
