<template>
|
<div class="mod-sys__dept">
|
<el-row :gutter="5">
|
<el-col :span="5">
|
<div class="fa-card-a" style="margin-right: 5px;height: calc(100vh - 123px)">
|
<zt-company-tree @on-selected="onCompanySelected"/>
|
</div>
|
</el-col>
|
<el-col :span="19">
|
<div class="fa-card-a" style="margin-left: 5px;">
|
<zt-table-wraper ref="tableObj" query-url="/sys/dept/list" delete-url="/sys/dept" :lazy="true" :paging='false' v-slot="{ table }">
|
<el-form :inline="true" :model="dataForm" @keyup.enter.native="table.query()">
|
<el-form-item>
|
<zt-button type="add" perm="sys:dept" @click="table.editHandle()" v-show="selectCompanyFlag"/>
|
</el-form-item>
|
</el-form>
|
<el-table v-loading="table.dataLoading"
|
v-adaptive="{bottomOffset:30}"
|
height="650px"
|
:data="table.dataList"
|
default-expand-all
|
@selection-change="table.selectionChangeHandle"
|
row-key="id">
|
<el-table-column prop="name" :label="$t('dept.name')" min-width="150"/>
|
<el-table-column prop="code" :label="$t('dept.code')"/>
|
<el-table-column prop="shortName" :label="$t('dept.shortName')"/>
|
<zt-table-column-dict prop="nature" :label="$t('dept.type')" dict="dept_type"/>
|
<el-table-column prop="sort" :label="$t('dept.sort')" width="80"/>
|
<zt-table-column-handle :table="table" edit-perm="sys:dept:update" delete-perm="sys:dept:delete"/>
|
</el-table>
|
<!-- 弹窗, 新增 / 修改 -->
|
<add-or-update @refreshDataList="table.query" :companyId="dataForm.companyId" :companyName="dataForm.companyName"/>
|
</zt-table-wraper>
|
</div>
|
</el-col>
|
</el-row>
|
</div>
|
</template>
|
|
<script>
|
import AddOrUpdate from './dept-add-or-update'
|
export default {
|
watch: {
|
filterText(val) {
|
this.$refs.tree.filter(val)
|
}
|
},
|
data() {
|
return {
|
dataForm: {
|
companyId: '',
|
companyName: ''
|
},
|
selectCompanyFlag: false
|
}
|
},
|
methods: {
|
onCompanySelected(data) {
|
this.dataForm.companyId = data.id
|
this.dataForm.companyName = data.name
|
this.selectCompanyFlag = true
|
this.$refs.tableObj.query()
|
}
|
},
|
components: {
|
AddOrUpdate
|
}
|
}
|
</script>
|