|
@@ -47,19 +47,32 @@
|
|
|
clearable
|
|
|
style="width:200px"
|
|
|
/>
|
|
|
- <el-checkbox v-model="checkAll">列表全选</el-checkbox>
|
|
|
+ <el-checkbox
|
|
|
+ v-model="checkAll"
|
|
|
+ v-permission="permissionBtn.dataSourcePermission.dataSource_detailTable_checkAll"
|
|
|
+ >列表全选</el-checkbox>
|
|
|
</div>
|
|
|
<div class="right-opt-box">
|
|
|
- <el-button type="primary" plain>一键刷新</el-button>
|
|
|
- <el-button type="primary" @click="handleShowSetRefreshTime">设置刷新时间</el-button>
|
|
|
+ <el-button
|
|
|
+ type="primary"
|
|
|
+ plain
|
|
|
+ v-permission="permissionBtn.dataSourcePermission.dataSource_detailTable_refresh"
|
|
|
+ >一键刷新</el-button>
|
|
|
+ <el-button
|
|
|
+ type="primary"
|
|
|
+ @click="handleShowSetRefreshTime"
|
|
|
+ v-permission="permissionBtn.dataSourcePermission.dataSource_detailTable_setRefreshTime"
|
|
|
+ >设置刷新时间</el-button>
|
|
|
<img class="set-icon" src="~@/assets/img/data_m/set_icon.png" alt="" @click="showSetTableCols=true">
|
|
|
</div>
|
|
|
</div>
|
|
|
<el-table
|
|
|
- ref="multipleTable"
|
|
|
+ v-loading="tableLoading"
|
|
|
+ ref="tableIns"
|
|
|
:data="tableData"
|
|
|
border
|
|
|
- @selection-change="handleSelectionChange"
|
|
|
+ @selection-change="handleTableSelectChange"
|
|
|
+ @sort-change="handleTableSortChange"
|
|
|
>
|
|
|
<el-table-column
|
|
|
type="selection"
|
|
@@ -69,10 +82,11 @@
|
|
|
/>
|
|
|
<el-table-column
|
|
|
v-for="col in tableColOpts"
|
|
|
- :key="col.key"
|
|
|
- :label="col.name"
|
|
|
- :prop="col.key"
|
|
|
- :sortable="col.sortable"
|
|
|
+ :key="col.ColumnKey"
|
|
|
+ :column-key="col.ColumnKey"
|
|
|
+ :label="col.ColumnName"
|
|
|
+ :prop="col.ColumnKey"
|
|
|
+ :sortable="col.IsSort===1?'custom':false"
|
|
|
align="center"
|
|
|
/>
|
|
|
<div slot="empty">
|
|
@@ -89,13 +103,14 @@
|
|
|
style="float: right;margin-top:20px"
|
|
|
/>
|
|
|
<!-- 自定义列表 -->
|
|
|
- <SetTableCols v-model="showSetTableCols" />
|
|
|
+ <SetTableCols v-model="showSetTableCols" :ColumnType="1" @change="handleTableColChange"/>
|
|
|
<!-- 设置刷新时间 -->
|
|
|
<SetRefreshTime v-model="showSetRefreshTime"/>
|
|
|
</div>
|
|
|
</template>
|
|
|
|
|
|
<script>
|
|
|
+import {apiDataSource} from '@/api/modules/dataSource'
|
|
|
import {frequencyOpt} from '../utils/config'
|
|
|
import SetRefreshTime from './SetRefreshTime.vue'
|
|
|
import SetTableCols from './SetTableCols.vue'
|
|
@@ -114,6 +129,7 @@ export default {
|
|
|
pageSize:15,
|
|
|
page:1,
|
|
|
total:0,
|
|
|
+ tableLoading:false,
|
|
|
|
|
|
showSetTableCols:false,
|
|
|
|
|
@@ -121,8 +137,43 @@ export default {
|
|
|
}
|
|
|
},
|
|
|
created() {
|
|
|
+ this.getTableColOpts()
|
|
|
},
|
|
|
methods: {
|
|
|
+ // 获取表格列配置项
|
|
|
+ getTableColOpts(){
|
|
|
+ if(!this.permissionBtn.checkPermissionBtn(this.permissionBtn.dataSourcePermission.dataSource_detailTable_see)) return
|
|
|
+ this.tableLoading=true
|
|
|
+ this.tableColOpts=[]
|
|
|
+ apiDataSource.tableColOpts({ColumnType:1}).then(res=>{
|
|
|
+ if(res.Ret===200){
|
|
|
+ const arr=res.Data.List||[]
|
|
|
+ this.tableColOpts=arr.filter(item=>item.IsShow===1)
|
|
|
+ this.$nextTick(()=>{
|
|
|
+ // this.$refs.tableIns.doLayout()
|
|
|
+ this.tableLoading=false
|
|
|
+ })
|
|
|
+
|
|
|
+ }
|
|
|
+ })
|
|
|
+ },
|
|
|
+
|
|
|
+ // 表格配置项变更
|
|
|
+ handleTableColChange(){
|
|
|
+ this.getTableColOpts()
|
|
|
+ },
|
|
|
+
|
|
|
+ // 排序
|
|
|
+ handleTableSortChange({column, prop, order}){
|
|
|
+ console.log(column, prop, order);
|
|
|
+ },
|
|
|
+
|
|
|
+ // 表格选择变更
|
|
|
+ handleTableSelectChange(e){
|
|
|
+
|
|
|
+ },
|
|
|
+
|
|
|
+
|
|
|
handleShowSetRefreshTime(){
|
|
|
this.showSetRefreshTime=true
|
|
|
}
|