<template>
  <div class="data-list">


      <el-table :data="dataList" style="width: 100%" header-row-class-name="headerBg" empty-text="没有项目信息">
        <el-table-column prop="id" label="ID" align="center" width="80"/>
        <el-table-column prop="code" label="引用名" align="center" width="180"/>
        <el-table-column prop="name" label="模板名称" align="left" min-width="180"/>
        <el-table-column prop="category.name" label="所属分类" align="left"  width="120"/>
        <el-table-column prop="createTime" label="创建时间" align="center" width="160"/>
        <el-table-column prop="status" label="模板状态" align="center" width="120">
          <template #default="scope">
              <div v-if="scope.row.status==5">启用</div>
              <div v-if="scope.row.status==6">停用</div>
          </template>
        </el-table-column>
        <el-table-column label="操作" fixed="right" align="center" width="180">
          <template #default="scope">
            <div class="btns">
              <el-button type="primary" size="small" @click="btnEdit(scope.row.id)"><svg-icon icon-class="edit"/>编辑</el-button>
              <el-button type="danger" size="small"   @click="btnDelete(scope.row.id)"><svg-icon icon-class="delete"/>删除</el-button><!-- v-if="scope.row.auth.delete" -->
            </div>
          </template>
        </el-table-column>
      </el-table>



      <div class="page-info">
      	<el-pagination
      	v-model:currentPage="queryForm.page"
      	:page-size="queryForm.pageSize"
      	:total="recordCount"
      	:page-count="pageTotal"
      	 background
      	 layout="prev, pager, next"
      	 @current-change="ChangePage"
      	 >
      	 </el-pagination>
      </div>



  </div>


</template>

<script>
  import { mapGetters } from 'vuex'

  import{deleteTemplate,searchTemplate} from'@/api/template';
  import dataInfo from './dataInfo.vue';
  import elDragDialog from '@/directive/el-drag-dialog'
  export default{
    components:{
      dataInfo,
    },
    directives: { elDragDialog },
    props:{
      queryForm:{
        type:Object,
        default:()=>{
          return {
            page:1,
            pageSize:10,
            name:'',
            sign:'',
          }
        }
      }
    },
    watch:{

        'queryForm': {
          handler: function(val) {

            this.search();
          },
          // immediate: true,//立即执行
          deep: true

        },
    },
    computed: {
      ...mapGetters([
        'roleInfo',
        'authList'
      ])
    },
    data(){
      return{
        dialogVisible:false,//控制产品审核
        currentDataId:0,
        recordCount:0,
        pageTotal:1,
        dataList:[],
        currentData:{},
      }
    },
    mounted() {
      this.search();
    },
    methods:{

      checkAuth(path){
        if(this.roleInfo.is_admin==1){
          return true;
        }
        let auth=this.authList.filter(o=>o.type==999 && o.path==path);
        if(auth.length>0){
          return true;
        }
        return false;
      },

      btnDelete(e){
        let _this=this;
        let par={
          id:e,
        }
        _this.$confirm("您是否确认删除该记录？","提示",{
          confirmButtonText: '确认',
          cancelButtonText: '取消',
          type: 'warning',
        }).then((res)=>{
          // console.log("AAA")
             deleteTemplate(par).then(res=>{
               _this.search();
             })
        }).catch(()=>{
        })
      },

      searchData(){
        let _this=this;
        _this.dialogVisible=false;
        _this.search();
      },


      //编辑
      btnEdit(e){
        let _this=this;
        var a = document.createElement('a');
        a.href="/document/create?templateId="+e
        a.target="_blank";
        a.click();
      },

      handleClose(){
        let _this=this;
        _this.currentDataId=0;
        _this.dialogVisible=false;
        _this.search();
      },

      //搜索
      search(){
        let _this=this;
        searchTemplate(_this.queryForm).then(res=>{
          if(!res)return;
          _this.dataList=res.data.dataList;
          _this.recordCount=res.data.totalRecord;
          _this.pageTotal=res.data.totalPage;
        })
      },
      //修改分页
      ChangePage(e){
      	let _this=this;
      	_this.queryForm.page=e;
      	_this.search();
      },
    }
  }
</script>

<style lang="scss">
@import './dataList.scss';
</style>
