<template>
  <div class="page">
    <topBar
      v-if="topList.length > 0"
      :top-list="topList"
      :moren="moren"
    />
    <div class="main">
      <div class="maintable">
        <el-table
          :data="tableData"
          style="width: 100%"
          :header-cell-style="{ background: '#EEEEEE' }"
          :row-class-name="tableRowClassName"
        >
          <el-table-column
            width="200px"
            align="center"
            :formatter="checkTypeList"
            prop="serviceType"
            :label="'服务类型'"
          />
          <el-table-column
            align="center"
            prop="serviceRadio"
            :label="'补贴比例' + '(%)'"
          >
            <template slot-scope="scope">
              <el-input
                v-model="scope.row.serviceRadio"
                clearable
                class="theinput"
                :disabled="ifupdate"
              />
            </template>
          </el-table-column>
          <el-table-column
            align="center"
            prop="assessmentType"
            label="考核类型"
          >
            <template slot-scope="scope">
              <el-select
                v-model="scope.row.assessmentType"
                clearable
                :disabled="ifupdate"
              >
                <el-option
                  v-for="item in ssessmentTypeList"
                  :key="item.value"
                  :label="item.label"
                  :value="item.value"
                />
              </el-select>
            </template>
          </el-table-column>
        </el-table>
      </div>
    </div>
    <div class="footer">
      <div style="margin: 0 auto">
        <el-button class="thebtn btn1" @click="ifupdate = false">{{
          '修改'
        }}</el-button>
        <el-button class="thebtn btn2" @click="savedate">{{
          '保存'
        }}</el-button>
      </div>
    </div>
  </div>
</template>

<script>
import topBar from '@/components/topBar'
import {
  getServiceList,
  updateService,
  getServiceTypeList,
  getAssessmentType
} from '@/api/bonus'
import { mixin } from './mixins'
export default {
  name: 'Fwbt',
  components: {
    topBar
  },
  mixins: [mixin],
  data() {
    return {
      moren: 'fwbt',
      tableData: [
        {
          name: 'asads',
          put: 2
        }
      ],
      ifupdate: true,
      serviceTypeList: [],
      ssessmentTypeList: []
    }
  },
  created() {
    this.getServiceList()
    this.getServiceTypeList()
  },
  methods: {
    // 获取服务补贴列表
    getServiceList() {
      getServiceList().then((res) => {
        this.tableData = res.rows
      })
    },
    // 获取服务补贴类型枚举列表
    getServiceTypeList() {
      getServiceTypeList().then((res) => {
        this.serviceTypeList = res.data
      })
      // 考核类型下拉选
      getAssessmentType().then((res) => {
        this.ssessmentTypeList = res.data
      })
    },
    // 服务补贴类型对应枚举查询
    checkTypeList(row) {
      let state = ''
      this.serviceTypeList.forEach((item) => {
        if (item.value == row.serviceType) {
          state = item.label
        }
      })
      return state
    },
    // 保存
    savedate() {
      this.ifupdate = true
      updateService({ bdBonusServiceList: this.tableData }).then((res) => {
        if (res.code == 200) {
          this.$message({
            message: res.msg,
            type: 'success'
          })
        } else {
          this.$message({
            message: res.msg,
            type: 'warning'
          })
        }
        this.getServiceList()
      })
    },
    tableRowClassName({ row, rowIndex }) {
      if (rowIndex % 2 == 1) {
        return 'warning-row'
      } else if (rowIndex % 2 == 0) {
        return 'success-row'
      }
      return ''
    }
  }
}
</script>

<style lang="scss" scoped>
::v-deep .el-table thead {
  color: #000000;
}
::v-deep .el-table .warning-row {
  background: #f9f9f9;
}

::v-deep .theinput .el-input__inner {
  width: 30% !important;
}

::v-deep .el-table .success-row {
  background: #ffffff;
}
.page {
  padding: 20px;
  background: #f9f9f9;
  font-size: 14px;
  .main {
    background: #ffffff;
    border-radius: 8px;
    box-shadow: 0px 2px 20px 0px rgba(238, 238, 238, 0.5);
  }
  .footer {
    display: flex;
    margin-top: 20px;
    .thebtn {
      width: 120px;
      height: 48px;
      color: #ffffff;
      font-size: 14px;
      font-weight: bold;
    }
    .btn1 {
      background: #4391fd;
      margin-right: 80px;
    }
    .btn2 {
      background: #ffad41;
    }
  }
}
</style>
