<template>
  <div>
    <el-dialog title="选择合同" :close-on-click-modal="false" draggable width="1300px" height="500px" @close="close"
      append-to-body v-model="visible">
      <div style="height: calc(100% - 80px);">
        <el-form :inline="true" class="query-form" ref="searchForm" :model="searchForm" @submit.native.prevent>
          <!-- 搜索框-->
          <el-form-item label="合同编号" prop="contractNo">
            <el-input v-model="searchForm.contractNo" placeholder="请输入合同编号" clearable></el-input>
          </el-form-item>
          <el-form-item label="合同名称" prop="contractName">
            <el-input v-model="searchForm.contractName" placeholder="请输入合同名称" clearable></el-input>
          </el-form-item>
          <el-form-item label="委托方名称" prop="clientContactsName">
            <el-input v-model="searchForm.clientContactsName" placeholder="请输入委托方名称" clearable></el-input>
          </el-form-item>


          <el-form-item>
            <el-button type="primary" @click="list()" icon="el-icon-search">查询</el-button>
            <el-button @click="resetSearch()" icon="el-icon-refresh-right">重置</el-button>
          </el-form-item>
        </el-form>

        <vxe-table border="inner" auto-resize resizable height="400px" :loading="loading" ref="workContractTable"
          show-header-overflow show-overflow highlight-hover-row :menu-config="{}" :print-config="{}"
          :sort-config="{ remote: true }" :data="dataList" :row-config="{ isCurrent: true }"
          :radio-config="{ trigger: 'row' }">
          <vxe-column type="seq" width="60" title="序号"></vxe-column>
          <vxe-column type="radio" width="60px"></vxe-column>
          <vxe-column width="200px" title="合同编号" field="contractNo"></vxe-column>
          <vxe-column width="200px" title="合同名称" field="contractName"></vxe-column>
          <vxe-column width="200px" title="委托方" field="clientContactsName"></vxe-column>
          <vxe-column width="200px" title="签约日期" field="signingDate"></vxe-column>
          <vxe-column width="200px" title="合同金额(元)" field="contractAmount"></vxe-column>
          <vxe-column width="200px" title="所属部门" field="departmentName"></vxe-column>
          <vxe-column width="200px" title="创建人" field="createBy"></vxe-column>
          <vxe-column width="200px" title="创建日期" field="createDate"></vxe-column>

        </vxe-table>
        <vxe-pager background :current-page="tablePage.currentPage" :page-size="tablePage.pageSize"
          :total="tablePage.total" :page-sizes="[10, 20, 100, 1000, { label: '全量数据', value: 1000000 }]"
          :layouts="['PrevPage', 'JumpNumber', 'NextPage', 'FullJump', 'Sizes', 'Total']"
          @page-change="currentChangeHandle">
        </vxe-pager>
      </div>
      <template #footer>
        <span class="dialog-footer">
          <el-button @click="close()" icon="el-icon-circle-close">关闭</el-button>
          <el-button type="primary" v-if="method != 'view'" @click="getContract()" icon="el-icon-circle-check"
            v-noMoreClick>确定</el-button>
        </span>
      </template>
    </el-dialog>
  </div>
</template>

<script>
import contractInfoService from '@/api/cw/workContract/contractInfoService'
export default {
  data() {
    return {
      title: '',
      method: '',
      visible: false,
      loading: false,
      tablePage: {
        total: 0,
        currentPage: 1,
        pageSize: 10,
        orders: []
      },
      dataList: [],
      searchForm: {
        contractNo: '',
        contractName: '',
        clientContactsName: '',
        contractAmount: '',
        contractDates: [],
        type: '',
        filedType: '',
        contractAmounts: [],
        createBy: "",
        createId: '',
        department: '',
        status: '',
        procInsId: '',
        processDefinitionId: '',
        rowIndex: ''
      }
    }
  },
  created() {
  },
  components: {
  },
  methods: {
    init(rowIndex) {
      // if (!this.commonJS.isEmpty(id)) {
      //   this.$refs.workContractTable.setCurrentRow(id)
      // }
      this.visible = true
      this.rowIndex = rowIndex
      this.list()
    },
    projectInit(rowIndex) {
      this.visible = true
      this.rowIndex = rowIndex
      this.projectList()
    },
    // 表单提交
    getContract() {
      let row = this.$refs.workContractTable.getRadioRecord()
      if (this.commonJS.isEmpty(row)) {
        this.$message.error('请选择一条数据')
        return
      }
      this.close()
      this.$emit('getContract', row, this.rowIndex)
    },
    list() {
      this.loading = true
      this.searchForm.status = '2,3,4,5'
      contractInfoService.projectRegContractList({
        'current': this.tablePage.currentPage,
        'size': this.tablePage.pageSize,
        'orders': this.tablePage.orders,
        ...this.searchForm
      }).then((data) => {
        this.dataList = data.records
        this.tablePage.total = data.total
        this.loading = false
      })
    },
    // 当前页
    currentChangeHandle({ currentPage, pageSize }) {
      this.tablePage.currentPage = currentPage
      this.tablePage.pageSize = pageSize
      this.list()
    },
    resetSearch() {
      this.$refs.searchForm.resetFields()
      this.list()
    },
    close() {
      this.$refs.searchForm.resetFields()
      this.visible = false
    }
  }
}
</script>
