<template>
  <div>
    <el-dialog
      :close-on-click-modal="false"
      title="选择报价模板"
      :visible.sync="showTroubleshooting"
      width="60%"
      :close-on-press-escape="false"
      :before-close="handleClose"
      top="10vh"
    >
      <template>
        <div class="bbsl-table-search">
          <!-- <el-form v-model="queryParam" :inline="true">
            <el-form-item label="名称">
              <el-input
                size="small"
                v-model="querys[0].value"
                clearable
                placeholder="请输入名称"
              ></el-input>
            </el-form-item>
            <el-form-item>
              <el-button
                size="small"
                type="danger"
                icon="el-icon-search"
                @click="handleSearch"
                >搜索</el-button
              >
              <el-button
                size="small"
                icon="el-icon-refresh"
                @click="handleReset"
                >重置</el-button
              >
            </el-form-item>
          </el-form> -->
        </div>
        <el-table
          ref="multipleSelection"
          v-loading="loading"
          border
          size="mini"
          :data="tableData"
          height="400px"
          :row-key="rowKey"
          :style="{width: '100%', height: '500px'}"
          :max-height="tableMaxHeight"
          :cell-style="{'text-align': 'center'}"
          :header-cell-style="{'text-align': 'center'}"
          @selection-change="handleSelectionChange"
          @select="tableSelect"
        >
          <el-table-column type="selection" min-width="5%" align="center">
            </el-table-column>
            <el-table-column
              prop="code"
              min-width="20%"
              label="模板编号"
              align="center"
              resizable
            >
            </el-table-column>
            <el-table-column
              prop="name"
              show-overflow-tooltip
              min-width="20%"
              align="center"
              label="模板名称"
              resizable
            >
            </el-table-column>
            <el-table-column
              prop="preparedOrgName"
              show-overflow-tooltip
              min-width="20%"
              align="center"
              label="编制公司"
              resizable
            >
            </el-table-column>
            <el-table-column
              prop="targetType"
              show-overflow-tooltip
              min-width="20%"
              align="center"
              label="项目类型"
              resizable
            >
            <template slot-scope="scope">
              <div v-if="scope.row.targetType==1">
                  物资
              </div>
              <div v-if="scope.row.targetType==2">
                  项目
              </div>
            </template>
            </el-table-column>
            <el-table-column
              prop="quotationMethod"
              show-overflow-tooltip
              min-width="20%"
              align="center"
              label="报价方式"
              resizable
            >
            <template v-slot="{row}">
                {{ getDictName('cglx-fkfs', row.quotationMethod) }}
              </template>
            </el-table-column>
            <el-table-column
              prop="isTax"
              show-overflow-tooltip
              min-width="20%"
              align="center"
              label="是否含税价"
              resizable
            >
            <template v-slot="{row}">
                {{ getDictName('cglx-jjfs', row.isTax) }}
              </template>
            </el-table-column>
        </el-table>
        <div style="float:right;margin-top:10px">
          <el-pagination
            ref="paginationPanel"
            background
            @size-change="handleSizeChange"
            @current-change="handleCurrentChange"
            :current-page="queryParam.pageBean.page"
            :page-sizes="[20, 30, 40, 50]"
            :page-size="queryParam.pageBean.pageSize"
            layout="total, sizes, prev, pager, next, jumper"
            :total="queryParam.pageBean.total"
          >
          </el-pagination>
        </div>
      </template>
      <span slot="footer" class="dialog-footer">
        <el-button @click="handleClose">取消</el-button>
        <el-button type="primary" @click="handleSave">保 存</el-button>
      </span>
    </el-dialog>
  </div>
</template>

<script>
import {TableMixin} from '@/mixins/tableMixin'
import basicData from '@/api/basicData'
import procurementManagement from '@/api/procurementManagement'
export default {
  name: 'CmgtSaftyDangerCheckplanFormDialogTroubleshooting', // 排查计划明细
  props: {
    useOrgList: Array
  },
  data() {
    return {
      showTroubleshooting: false, // 控制弹层显示与隐藏
      multipleSelection: [],
      selectedValue: [],
      loading:false,
      params:{},
      querys: [
        {
          group: 'main',
          operation: 'LIKE',
          parentGroup: '',
          property: 'name',
          relation: 'AND',
          value: ''
        },
        {
          group: 'main',
          operation: 'EQUAL',
          parentGroup: '',
          property: 'isTax',
          relation: 'AND',
          value: ''
        },
        {
          group: 'main',
          operation: 'EQUAL',
          parentGroup: '',
          property: 'quotationMethod',
          relation: 'AND',
          value: ''
        },
        {
          group: 'main',
          operation: 'EQUAL',
          parentGroup: '',
          property: 'targetType',
          relation: 'AND',
          value: '1'
        }
      ],
      queryParam: {
        pageBean: {
          page: 1,
          pageSize: 20,
          total: 0
        }
      }
    }
  },
  mixins: [TableMixin],
  created() {
    this.loadData()
  },
  methods: {
    rowKey(row) {
      return row.id
    },
    //搜索
    handleSearch() {
      this.loadData()
    },
    //重置
    handleReset() {
      this.querys[0].value = ''
      this.querys[1].value = ''
      this.querys[2].value = ''
      this.querys[3].value = '1'
      this.loadData()
    },
    //显示弹框
    add(row) {
      console.log(row,1111111);
      this.params = row
      this.showTroubleshooting = true
      if(row.quotationMethod){
        this.querys[2].value = row.quotationMethod
      }
      if(row.isTax){
        this.querys[1].value = row.isTax
      }
    //   this.$nextTick(function() {
    //     this.useOrgList.forEach(item => {
    //       if (this.tableData.some(data => data.id === item.id)) {
    //         this.$refs.multipleSelection.toggleRowSelection(item, true) //这样就可以了
    //       } else {
    //         this.$refs.multipleSelection.toggleRowSelection(item, true) //这样就可以了
    //       }
    //     })
    //   })
      this.loadData()
    },
    // 获取list
    loadData() {
      this.loading = true
      this.tableData = []
      this.queryParam.querys = []
      if (this.querys[0].value) {
        this.queryParam.querys.push(this.querys[0])
      }
      if (this.querys[1].value) {
        this.queryParam.querys.push(this.querys[1])
      }
      if (this.querys[2].value) {
        this.queryParam.querys.push(this.querys[2])
      }
      if (this.querys[3].value) {
        this.queryParam.querys.push(this.querys[3])
      }
      this.$http.post('${portal}/quotationTemplate/v1/page',this.queryParam).then(res=>{
        this.loading = false
        const data = (res && res.data) || {}
        this.tableData = data.value.rows || []
        this.pageResult = {
          page: data.value.page,
          pageSize: data.value.pageSize,
          total: data.value.total
        }
      })
    },
    tableSelect(rows, row) {
      let selected = rows.length && rows.indexOf(row) !== -1
      if (!selected) {
        this.selectedValue = rows
      } else {
        this.selectedValue = []
      }
    },
    handleSelectionChange(val) {
      this.multipleSelection = val
    },
    // 点击关闭按钮
    handleClose() {
      this.$refs.multipleSelection.clearSelection()
      this.showTroubleshooting = false
    },
    // 保存按钮
    handleSave() {
      let list = []
      list = this.multipleSelection
      this.$emit('template', list)
      this.handleClose()
    },
    handleCurrentChange(page) {
      this.queryParam.pageBean = {...this.queryParam.pageBean, page}
      this.loadData()
    },
    handleSizeChange(pageSize) {
      this.queryParam.pageBean = {...this.queryParam.pageBean, pageSize}
      this.loadData()
    }
  }
}
</script>

<style scoped lang="scss">
.dialog-footer {
  width: 100%;
  margin-top: 20px;
  display: flex;
  justify-content: center;
}
</style>
