<template> 
 | 
  <el-card shadow="never" class="aui-card--fill"> 
 | 
    <div class="mod-sys__post}"> 
 | 
      <el-row :gutter="20"> 
 | 
        <el-col :span="5"> 
 | 
          <zt-dept-tree @on-selected="onDeptSelected"/> 
 | 
        </el-col> 
 | 
        <el-col :span="19"> 
 | 
          <zt-table-wraper ref="tableObj" query-url="/sys/post/page" delete-url="/sys/post" :lazy="true" v-slot="{ table }"> 
 | 
            <el-form :inline="true" :model="dataForm" @keyup.enter.native="table.query()"> 
 | 
              <el-form-item> 
 | 
                <el-input v-model="dataForm.name" :placeholder="$t('post.inputName')" clearable></el-input> 
 | 
              </el-form-item> 
 | 
              <el-form-item class="message-btn"> 
 | 
                <zt-button type="query" @click="table.query()"/> 
 | 
                <zt-button type="add" perm="sys:post" @click="table.editHandle()" v-show="selectDeptFlag"/> 
 | 
                <zt-button type="delete" perm="sys:post:delete" @click="table.deleteHandle()"/> 
 | 
              </el-form-item> 
 | 
            </el-form> 
 | 
            <el-table v-loading="table.dataLoading" :data="table.dataList" 
 | 
                      v-adaptive="{bottomOffset:112}" 
 | 
                      height="650px" 
 | 
                      row-key="id" border 
 | 
                      @selection-change="table.selectionChangeHandle"> 
 | 
              <el-table-column type="selection" width="40"/> 
 | 
              <el-table-column prop="name" :label="$t('post.name')"></el-table-column> 
 | 
              <el-table-column prop="code" :label="$t('post.code')"></el-table-column> 
 | 
              <el-table-column prop="remark" :label="$t('post.remark')"></el-table-column> 
 | 
              <zt-table-column-handle :table="table" edit-perm="sys:post:update" delete-perm="sys:post:delete"/> 
 | 
            </el-table> 
 | 
            <!-- 弹窗, 新增 / 修改 --> 
 | 
            <add-or-update @refreshDataList="table.query" :deptId="dataForm.deptId" :deptName="dataForm.deptName"/> 
 | 
          </zt-table-wraper> 
 | 
        </el-col> 
 | 
      </el-row> 
 | 
    </div> 
 | 
  </el-card> 
 | 
</template> 
 | 
  
 | 
<script> 
 | 
  import AddOrUpdate from './post-add-or-update' 
 | 
  export default { 
 | 
    data() { 
 | 
      return { 
 | 
        dataForm: { 
 | 
          deptId: '', 
 | 
          deptName: '' 
 | 
        }, 
 | 
        selectDeptFlag: false 
 | 
      } 
 | 
    }, 
 | 
    watch: { 
 | 
      filterCompany(val) { 
 | 
        this.$refs.companyTree.filter(val) 
 | 
      } 
 | 
    }, 
 | 
    methods: { 
 | 
      onDeptSelected(data) { 
 | 
        if (!data.company) { 
 | 
          this.dataForm.deptId = data.id 
 | 
          this.dataForm.deptName = data.name 
 | 
          this.selectDeptFlag = true 
 | 
        } else { 
 | 
          this.dataForm.deptId = '' 
 | 
          this.dataForm.deptName = '' 
 | 
          this.selectDeptFlag = false 
 | 
        } 
 | 
        this.$refs.tableObj.query() 
 | 
      } 
 | 
    }, 
 | 
    mounted() { 
 | 
    }, 
 | 
    components: { 
 | 
      AddOrUpdate 
 | 
    } 
 | 
  } 
 | 
</script> 
 |