<template>
  <div>
    <div class="mini-im-head">
      <span>
        <i class="el-icon-picture-outline-round"></i>
        <span slot="title">机器人管理</span>
      </span>
       <el-button  v-if="adminInfo.root == 1" @click="createDialogFormVisible = true" size="mini">添 加</el-button>
    </div>
    <el-divider />
    <el-table
      :data="tableData"
      style="width: 100%"
       v-loading="loading"
    >
      <el-table-column
        type="index"
        width="60">
      </el-table-column>
      <el-table-column
        prop="avatar"
        label="头像"
        width="80">
        <template slot-scope="scope">
          <el-avatar :size="40" :src="scope.row.avatar"></el-avatar>
        </template>
      </el-table-column>
      <el-table-column
        prop="nickname"
        label="机器人昵称">
      </el-table-column>
      <el-table-column
        prop="welcome"
        label="欢迎语">
      </el-table-column>
      <el-table-column
        prop="understand"
        label="无匹配知识库语">
      </el-table-column>
      <el-table-column
        prop="timeout_text"
        label="超时结束提示">
      </el-table-column>
      <el-table-column
        prop="no_services"
        label="无人工在线提示">
      </el-table-column>
      <el-table-column
        prop="loog_time_wait_text"
        label="长时间等待提示">
      </el-table-column>
      <el-table-column
        prop="keyword"
        label="检索知识库热词">
        <template slot-scope="scope">
          <span>{{scope.row.keyword.replace(/\|/g, " , ")}}</span>
        </template>
      </el-table-column>
      <el-table-column
        prop="artificial"
        label="转人工关键词">
        <template slot-scope="scope">
          <span>{{scope.row.artificial.replace(/\|/g, " , ")}}</span>
        </template>
      </el-table-column>
      <el-table-column
        prop="switch"
         align="center"
        label="运行状态">
        <template slot-scope="scope">
          <el-tag type="success" v-if="scope.row.switch == 1">服务中</el-tag>
          <el-tag type="danger" v-if="scope.row.switch == 0">服务暂停</el-tag>
        </template>
      </el-table-column>
      <el-table-column
       align="center"
        prop="platform"
        label="服务平台">
        <template slot-scope="scope">
          <el-tag>{{$getPlatformItem(scope.row.platform).title}}</el-tag>
        </template>
      </el-table-column>

      <el-table-column
        prop="create_at"
        label="创建时间">
        <template slot-scope="scope">
          {{$formatUnixDate(scope.row.create_at, "YYYY/MM/DD")}}
        </template>
      </el-table-column>
      <el-table-column
        v-if="adminInfo.root == 1"
        prop="operating"
        align="center"
        label="操作"
        width="150"
        >
        <template slot-scope="scope">
            <el-button
              size="mini"
              @click="edit(scope.row)">编 辑</el-button>
            <el-button
              size="mini"
              type="danger"
              @click="deleteRobot(scope.row)">删 除</el-button>
          </template>
      </el-table-column>
    </el-table>
    <el-row type="flex" style="margin-top: 20px;" justify="space-between">
      <span style="color:#666;font-size: 14px;">当前有{{tableData.length}}个机器人</span>
    </el-row>
    <CreateDialog :complete="getRobotList" :dialogFormVisible.sync="createDialogFormVisible" />
    <EditDialog :complete="getRobotList" :formData="editItem" :dialogFormVisible.sync="editDialogFormVisible" />
  </div>
</template>

<script>
import CreateDialog from "./create"
import EditDialog from "./edit"
import axios from 'axios'
export default {
  name: "robot",
  components: {
    CreateDialog,
    EditDialog
  },
  data() {
    return {
      createDialogFormVisible: false,
      editDialogFormVisible: false,
      loading: true,
      editItem: {}
    }
  },
  created(){
    setTimeout( ()=> this.getRobotList(), 500)
  },
  computed: {
    tableData(){
      return this.$store.getters.robots || []
    },
    adminInfo(){
      return this.$store.getters.adminInfo || {}
    }
  },
  methods: {
    // 删除
    deleteRobot(item){
      this.$confirm('您确定要删除该机器人吗? 删除后不可恢复!', '温馨提示!', {
        confirmButtonText: '确定',
        cancelButtonText: '取消',
        center: true,
        type: 'warning'
      }).then(() => {
        axios.delete('/robot/' + item.id)
        .then(response => {
            console.log(response.data)
            this.$message.success("删除成功")
            this.getRobotList()
        })
        .catch(error => {
          this.$message.error(error.response.data.message)
        });
      })
    },
    // 编辑
    edit(item){
      this.editItem = item
      this.editDialogFormVisible = true
    },
    // 获取数据
    getRobotList(){
      axios.get('/robot/list')
      .then(response => {
          this.loading = false
          this.$store.commit('onChangeRobos', response.data.data)
      })
      .catch(error => {
        this.loading = false
        this.$message.error(error.response.data.message)
      });
    },
  }
};
</script>
<style lang="stylus" scoped>
  .mini-im-head{
    height 30px
    display flex
    align-items center
    font-size 20px
    justify-content space-between
    color #666
    i{
      margin-right 5px
    }
  }
</style>